力扣热门100题之二叉树的中序遍历

本题考查的是对于二叉树的遍历方式中的中序遍历(也是我之前面试的时候遇到的面试题相同类型的,那道题是层序遍历)

思路:使用递归进行遍历(面试的时候想到用递归,但是因为不熟悉没写出来)

可以把遍历功能抽取成一个方法,也可以直接写在解答类里,我喜欢抽取成方法

java 复制代码
public List<Integer> inOrder(TreeNode root,ArrayList<Integer> list){
    if(root == null) return new ArrayList<>();
    inOrder(root.left);
    list.add(root.val);
    inorder(root.right);
    return list;
}

完整代码实现:

java 复制代码
class Solution {
    public List<Integer> inorderTraversal(TreeNode root) {
        
        List<Integer> result = new ArrayList<>();//用来存储最后的返回结果

        return inOrder(root,result);  
    }
    public List<Integer> inOrder(TreeNode root,List<Integer> list){
        if(root == null) return new ArrayList<>();
        inOrder(root.left,list);
        list.add(root.val);
        inOrder(root.right,list);
        return list;
    }
}
相关推荐
haina20195 分钟前
海纳AI正式发布“面试Agent”——实现千岗千面与人机共管的智面新纪元
人工智能·面试·职场和发展
黎梨梨梨_5 分钟前
C++入门基础(下)(重载,引用,inline,nullptr)
开发语言·c++·算法
Jasmine_llq10 分钟前
《B4411 [GESP202509 二级] 优美的数字》
算法·暴力枚举算法·逐位校验算法·统一数位判断算法·条件计数算法·自定义函数判断算法
做时间的朋友。18 分钟前
小华地图寻宝
算法
贾斯汀玛尔斯22 分钟前
每天学一个算法--单调栈(Monotonic Stack)
运维·服务器·算法
ZPC821026 分钟前
ROS2 速度远快于 UDP的完整方案(同机节点)
人工智能·算法·计算机视觉·机器人
khalil102035 分钟前
代码随想录算法训练营Day-34动态规划03 | 01背包问题 二维、01背包问题 一维、416. 分割等和子集
数据结构·c++·算法·leetcode·动态规划·背包问题·01背包
华清远见IT开放实验室37 分钟前
AI 算法核心知识清单(深度实战版2)
人工智能·深度学习·算法·机器学习·ai·模型训练
点云侠1 小时前
隧道中线提取的优化方法
c++·算法·最小二乘法
圣保罗的大教堂1 小时前
leetcode 3761. 镜像对之间最小绝对距离 中等
leetcode