public class TreeNode { public int val; public TreeNode left; public TreeNode right; public int deep; public TreeNode(){} public TreeNode(int val) {this.val = val;} public TreeNode(int val, TreeNode left, TreeNode right) { this.val = val; this.left = left; this.right = right; }}

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);
}
}