import cn.leekari.base.TreeNode; import java.util.ArrayList; import java.util.List; /** * @author litao * @date 2020/10/14 16:41 * @description */ /** * 二叉树的展示,先序、中序、后序 */ public class ShowTree { /** * 先序 * @param root * @return */ public static List<Integer> beforeList(TreeNode root){ if (root == null) { return new ArrayList<>(); } List<Integer> beforeList = new ArrayList<>(); beforeList.add(root.val); if(root.left != null){ beforeList.addAll(beforeList(root.left)); } if(root.right != null){ beforeList.addAll(beforeList(root.right)); } return beforeList; } /** * 中序 * @param root * @return */ public List<Integer> mediumList(TreeNode root){ if (root == null) { return new ArrayList<>(); } List<Integer> mediumList = new ArrayList<>(); if(root.left != null){ mediumList.addAll(mediumList(root.left)); } mediumList.add(root.val); if(root.right != null){ mediumList.addAll(mediumList(root.right)); } return mediumList; } /** * 后序 * @param root * @return */ public List<Integer> lastList(TreeNode root){ if (root == null) { return new ArrayList<>(); } List<Integer> lastList = new ArrayList<>(); if(root.left != null){ lastList.addAll(lastList(root.left)); } if(root.right != null){ lastList.addAll(lastList(root.right)); } lastList.add(root.val); return lastList; } public static void main(String[] args) { TreeNode treeNode = new TreeNode(); treeNode.val = 1; treeNode.left = new TreeNode(); treeNode.left.val = 2; treeNode.right = new TreeNode(); treeNode.right.val = 3; treeNode.left.left = new TreeNode(); treeNode.left.left.val = 4; treeNode.left.right = new TreeNode(); treeNode.left.right.val = 5; System.out.println(beforeList(treeNode)); } }