Leetcode 二叉树中序遍历 前序遍历 后序遍历(递归)

中序遍历:

java 复制代码
/**
 * 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> tree=new ArrayList<>(); //建立一个动态数组
        inorder(root,tree); //调用递归函数,实参
        return tree;

    }

    public void inorder(TreeNode root, List<Integer> tree){
        // TreeNode root,List<Interger> tree都是传入的形参
        if(root==null){
            return;
        }
        inorder(root.left,tree);  //遍历左子树
        tree.add(root.val); //将当前值加入动态数组中
        inorder(root.right,tree); //遍历右子树

    }
    
}

前序遍历

java 复制代码
class Solution {
    public List<Integer> inorderTraversal(TreeNode root) {
            List<Integer> tree =new ArrayList<Integer>();
            PreOrder(root,tree);
            return tree;

    }

    public void PreOrder(TreeNode root, List<Integer> tree){
        if(tree==null){
        return;}
        tree.add(root.val);
        PreOrder(root.left,tree);
        PreOrder(root.right,tree);
    


    }





}

}

后序遍历

java 复制代码
class Solution {
    public List<Integer> inorderTraversal(TreeNode root) {
            List<Integer> tree =new ArrayList<Integer>();
            PostOrder(root,tree);
            return tree;

    }

    public void PostOrder(TreeNode root, List<Integer> tree){
        if(tree==null){
        return;}
        PostOrder(root.left,tree);
        PostOrder(root.right,tree);
        tree.add(root.val);
    


    }





}

}
相关推荐
吃好睡好便好8 小时前
在Matlab中绘制横直方图
开发语言·学习·算法·matlab
仰泳之鹅8 小时前
【C语言】自定义数据类型2——联合体与枚举
c语言·开发语言·算法
x_yeyue11 小时前
三角形数
笔记·算法·数论·组合数学
念何架构之路12 小时前
Go语言加密算法
数据结构·算法·哈希算法
AI科技星12 小时前
《数学公理体系·第三部·数术几何》(2026 年版)
c语言·开发语言·线性代数·算法·矩阵·量子计算·agi
失去的青春---夕阳下的奔跑12 小时前
560. 和为 K 的子数组
数据结构·算法·leetcode
黎阳之光12 小时前
黎阳之光:以视频孪生重构智慧医院信息化,打造高标项目核心竞争力
大数据·人工智能·物联网·算法·数字孪生
丷丩13 小时前
三级缓存下MVT地图瓦片服务性能优化策略
算法·缓存·性能优化·gis·geoai-up
m0_6294947313 小时前
LeetCode 热题 100-----25.回文链表
数据结构·算法·leetcode·链表
ʚ希希ɞ ྀ14 小时前
单词拆分----dp
算法