public class Tree {
public static void main(String[] args) {
TreeNode root = new TreeNode(1);
root.left = new TreeNode(2);
root.right = new TreeNode(3);
root.left.left = new TreeNode(4);
preOrder(root);
System.out.println("");
midOrder(root);
System.out.println("");
postOrder(root);
System.out.println("");
levOrder(root);
}
static void preOrder(TreeNode node) {
if (node == null) return;
System.out.printf("%d ", node.val);
preOrder(node.left);
preOrder(node.right);
}
static void midOrder(TreeNode node) {
if (node == null) return;
midOrder(node.left);
System.out.printf("%d ", node.val);
midOrder(node.right);
}
static void postOrder(TreeNode node) {
if (node == null) return;
postOrder(node.left);
postOrder(node.right);
System.out.printf("%d ", node.val);
}
static void levOrder(TreeNode node) {
if (node == null) return;
Queue<TreeNode> queue = new LinkedList<TreeNode>();
queue.offer(node);
while(!queue.isEmpty()) {
TreeNode tmp = queue.poll();
System.out.printf("%d ", tmp.val);
if (tmp.left != null) queue.offer(tmp.left);
if (tmp.right != null) queue.offer(tmp.right);
}
}
}
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int val) {
this.val = val;
}
}
还没有评论,来说两句吧...