前序遍历、中序遍历、后序遍历、层次遍历

布满荆棘的人生 2022-10-27 00:30 390阅读 0赞
  1. public class Tree {
  2. public static void main(String[] args) {
  3. TreeNode root = new TreeNode(1);
  4. root.left = new TreeNode(2);
  5. root.right = new TreeNode(3);
  6. root.left.left = new TreeNode(4);
  7. preOrder(root);
  8. System.out.println("");
  9. midOrder(root);
  10. System.out.println("");
  11. postOrder(root);
  12. System.out.println("");
  13. levOrder(root);
  14. }
  15. static void preOrder(TreeNode node) {
  16. if (node == null) return;
  17. System.out.printf("%d ", node.val);
  18. preOrder(node.left);
  19. preOrder(node.right);
  20. }
  21. static void midOrder(TreeNode node) {
  22. if (node == null) return;
  23. midOrder(node.left);
  24. System.out.printf("%d ", node.val);
  25. midOrder(node.right);
  26. }
  27. static void postOrder(TreeNode node) {
  28. if (node == null) return;
  29. postOrder(node.left);
  30. postOrder(node.right);
  31. System.out.printf("%d ", node.val);
  32. }
  33. static void levOrder(TreeNode node) {
  34. if (node == null) return;
  35. Queue<TreeNode> queue = new LinkedList<TreeNode>();
  36. queue.offer(node);
  37. while(!queue.isEmpty()) {
  38. TreeNode tmp = queue.poll();
  39. System.out.printf("%d ", tmp.val);
  40. if (tmp.left != null) queue.offer(tmp.left);
  41. if (tmp.right != null) queue.offer(tmp.right);
  42. }
  43. }
  44. }
  45. class TreeNode {
  46. int val;
  47. TreeNode left;
  48. TreeNode right;
  49. TreeNode(int val) {
  50. this.val = val;
  51. }
  52. }

发表评论

表情:
评论列表 (有 0 条评论,390人围观)

还没有评论,来说两句吧...

相关阅读