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));
}
}