public class Tree {
static class TreeNode{
int value;
TreeNode left;
TreeNode right;
TreeNode(int value){
this.value=value;
}
}
//前序遍历 根左右
public void preOrder(TreeNode root){
System.out.println(root.value);
TreeNode left = root.left;
if(left!=null){
preOrder(left);
}
TreeNode right = root.right;
if(right!=null){
preOrder(right);
}
}
//后序遍历 左右根
public static void postOrder(TreeNode root){
if(root==null){
return;
}else{
postOrder(root.left);
postOrder(root.right);
System.out.println(root.value);
}
}
//中序遍历 左右根
public static void midOrder(TreeNode root){
if(root==null){
return;
}else{
midOrder(root.left);
System.out.println(root.value);
midOrder(root.right);
}
}
public static void main(String[] args) {
/**
* 10
* 5 12
* 4 7
*/
TreeNode root = new TreeNode(10);
TreeNode one_left = new TreeNode(5);
TreeNode one_right = new TreeNode(12);
TreeNode one_left_left = new TreeNode(4);
TreeNode one_left_right = new TreeNode(7);
root.left = one_left;
root.right = one_right;
one_left.left = one_left_left;
one_left.right = one_left_right;
Tree t = new Tree();
t.preOrder(root);
t.postOrder(root);
t.midOrder(root);
}
}