注:left是左节点值;right是右节点值。三种遍历的不同是父节点的遍历位置不同名字而不同
前序遍历:先父节点->左子节点->右子节点
public void preOrder() {
System.out.println(this);//父节点
if (this.left != null) {
this.left.preOrder();//左子节点
}
if (this.right != null) {
this.right.preOrder();//右子节点
}
}
中序遍历:先左子节点->父节点->右子节点
//中序遍历二叉树
public void midOrder() {
if (this.left != null) {
this.left.midOrder();//左子节点
}
System.out.println(this);//父节点
if (this.right != null) {
this.right.midOrder();//右子节点
}
}
后序遍历:先左子节点->右子节点->父节点
//后序遍历二叉树
public void postOrder() {
if (this.left != null) {