代码随想录训练营第三十期|第十四天|二叉树part01|● 理论基础● 递归遍历 ● 迭代遍历● 统一迭代

144. 二叉树的前序遍历 - 力扣(LeetCode)

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    public List<Integer> preorderTraversal(TreeNode root) {
        List<Integer> res = new ArrayList<>();
        if (root == null) return res;
        traversal(root, res);
        return res;
    }

    private void traversal(TreeNode root, List<Integer> res) {
        if (root == null) return;
        res.add(root.val);
        traversal(root.left, res);
        traversal(root.right, res);
    }
}

145. 二叉树的后序遍历 - 力扣(LeetCode)

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    public List<Integer> postorderTraversal(TreeNode root) {
        List<Integer> res = new ArrayList<>();
        if (root == null) return res;
        traversal(root, res);
        return res;
    }

    private void traversal(TreeNode root, List<Integer> res) {
        if (root == null) return;
        traversal(root.left, res);
        traversal(root.right, res);
        res.add(root.val);
    }
}

94. 二叉树的中序遍历 - 力扣(LeetCode)

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    public List<Integer> inorderTraversal(TreeNode root) {
        List<Integer> res = new ArrayList<>();
        if (root == null) return res;
        traversal(root, res);
        return res;
    }

    private void traversal(TreeNode root, List<Integer> res) {
        if (root == null) return;
        traversal(root.left, res);
        res.add(root.val);
        traversal(root.right, res);
    }
}

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-29 02:26:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-29 02:26:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-29 02:26:03       82 阅读
  4. Python语言-面向对象

    2024-01-29 02:26:03       91 阅读

热门阅读

  1. 关于css 的基础试题

    2024-01-29 02:26:03       52 阅读
  2. Spring Boot更换Spring fox为Springdoc

    2024-01-29 02:26:03       48 阅读
  3. 组装无人机需要哪些工具?

    2024-01-29 02:26:03       48 阅读
  4. OkHttp的理解和使用

    2024-01-29 02:26:03       53 阅读
  5. 四、MySQL之增删改

    2024-01-29 02:26:03       46 阅读
  6. 临床医疗大数据治理框架

    2024-01-29 02:26:03       56 阅读
  7. Hive之set参数大全-17

    2024-01-29 02:26:03       42 阅读
  8. 从c到c++——6:auto

    2024-01-29 02:26:03       53 阅读
  9. Python NLP深度学习进阶:自然语言处理

    2024-01-29 02:26:03       40 阅读
  10. NET高级面试指南专题二【泛型】

    2024-01-29 02:26:03       46 阅读
  11. Flask介绍和优势

    2024-01-29 02:26:03       56 阅读