目录
创建一个树结点
class Node{//创建一个树结点的基本结构
public char val;
public Node left;
public Node right;
public Node(char val) {
this.val = val;
}
}
创建一颗固定的二叉树
public static Node treeBuild() {
Node A = new Node('A');
Node B = new Node('B');
Node C = new Node('C');
Node D = new Node('D');
Node E = new Node('E');
Node F = new Node('F');
Node G = new Node('G');
A.left = B;
A.right = C;
B.left = D;
B.right = E;
E.left = G;
C.right = F;
return A;
}
该二叉树长这样:
先序遍历二叉树
先访问跟结点,再遍历左子树的各个结点,然后遍历右子树的各个结点
public static void prevOrder(Node root){
if(root == null){
return;
}
System.out.print(root.val);
prevOrder(root.left);
prevOrder(root.right);
}
测试:
public static void main(String[] args) {
root = treeBuild();
System.out.println("prevOder:");
prevOrder(root);
}
中序遍历二叉树
先遍历左子树,再访问根节点,然后遍历右子树
public static void inOrder(Node root){
if(root == null){
return;
}