二叉树的先序遍历递归执行过程

一、流程

先访问根节点,再访问左子树,最后访问右子树。以此类推二叉树的先序遍历递归执行过程_第1张图片

二、具体代码

public class Test {
    static class Node{
        public char val;
        public Node left;
        public Node right;
        public Node(char val) {
            this.val = val;
        }
    }
    static Node build(){
        //构建一棵树,返回数的根节点。
        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 preOrder(Node root) {
        //先访问根节点,递归访问左子树,在递归访问右子树
        //如果是空树,不需要进行任何操作
        if(root==null) {
            return;
        }
        //访问就是用print来表示访问
        System.out.println(root.val + " ");
        preOrder(root.left);
        preOrder(root.right);
    }

    public static void main(String[] args) {
        Node root = build();
        preOrder(root);
    }
}

你可能感兴趣的:(Java,二叉树)