1. 二叉树的遍历
1.1. 前序遍历
先输出当前节点
如果左子节点不为空,则递归继续前序遍历
如果右子节点不为空,则递归前序遍历
public void preTraversal(Node root) {
System.out.println(root);
if(root.left != null){
preTraversal(root.left);
}
if(root.right != null){
preTraversal(root.right);
}
}
root -> 11 -> 22 -> 44 -> 66 -> 33 -> 88 -> 5 -> 10
1.2. 中序遍历
如果左子节点不为空,则递归继续前序遍历
先输出当前节点
如果右子节点不为空,则递归前序遍历
public void preTraversal(Node root) {
if(root.left != null){
preTraversal(root.left);
}
System.out.println(root);
if(root.right != null){
preTraversal(root.right);
}
}
1.3. 后序遍历
如果左子节点不为空,则递归继续前序遍历
如果右子节点不为空,则递归前序遍历
先输出当前节点
public void preTraversal(Node root) {
if(root.left != null){
preTraversal(root.left);
}
if(root.right != null){
preTraversal(root.right);
}
System.out.println(root);
}