二叉树的遍历

 

 

1
2
3
4
5
6
7
8
9
class TreeNode {
        int val = 0;
        TreeNode left = null;
        TreeNode right = null;
 
        public TreeNode(int val) {
            this.val = val;
        }
    }

前序遍历

    递归版

1
2
3
4
5
6
7
8
9
10
11
12
13
private void getPreTree(TreeNode node, List<Integer> list) {
      if (node == null) {
          return;
      }
      //zhong 左右
      list.add(node.val);
      if (node.left != null) {
          getPreTree(node.left, list);
      }
      if (node.right != null) {
          getPreTree(node.right, list);
      }
  }

  

中序遍历

    递归版

1
2
3
4
5
6
7
8
9
10
11
12
13
14
private void getMidTree(TreeNode node, List<Integer> list) {
        if (node == null) {
            return;
        }
 
        //左中右
        if (node.left != null) {
            getMidTree(node.left, list);
        }
        list.add(node.val);
        if (node.right != null) {
            getMidTree(node.right, list);
        }
    }

  

后序遍历

    递归版

1
2
3
4
5
6
7
8
9
10
11
12
13
14
private void getAfterTree(TreeNode node, List<Integer> list) {
      if (node == null) {
          return;
      }
 
      //左右中
      if (node.left != null) {
          getAfterTree(node.left, list);
      }
      if (node.right != null) {
          getAfterTree(node.right, list);
      }
      list.add(node.val);
  }

  

posted @   FCmmmmmm  阅读(27)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示