1. public class TreeNode {
    2. public int val;
    3. public TreeNode left;
    4. public TreeNode right;
    5. public int deep;
    6. public TreeNode(){}
    7. public TreeNode(int val) {this.val = val;}
    8. public TreeNode(int val, TreeNode left, TreeNode right) {
    9. this.val = val;
    10. this.left = left;
    11. this.right = right;
    12. }
    13. }

    image.png

    public class BinaryTree {
        public static void main(String[] args) {
            TreeNode node7 = new TreeNode(7, null, null);
            TreeNode node6 = new TreeNode(6, null, null);
            TreeNode node5 = new TreeNode(5, node6, node7);
            TreeNode node4 = new TreeNode(4, null, null);
            TreeNode node3 = new TreeNode(3, null, null);
            TreeNode node2 = new TreeNode(2, node4, node5);
            TreeNode node1 = new TreeNode(1, node2, node3);
    
            preOrder(node1);
        }
    
            private static void preOrder(TreeNode node1) {
            if (null == node1) return;
            System.out.println(node1.val);// 前序:第一次称为栈顶元素时打印
            preOrder(node1.left);
            preOrder(node1.right);
        }
    }