力扣热门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;
    }
}
相关推荐
AndrewHZ7 分钟前
图像处理入门009 | OpenCV 图像读取与显示:imread/imshow 全解析
图像处理·python·opencv·算法·计算机视觉·图像显示
学计算机的计算基8 分钟前
TCP 传输层硬核整理:三次握手、四次挥手、拥塞控制一次讲透
java·网络·笔记·网络协议·算法
xx~t14 分钟前
嵌入式学习22
数据结构·学习·算法·排序算法
我是苏苏20 分钟前
C#基础:不写for循环的五种方式
数据结构·算法·c#
三8441 小时前
webshell缓存绕过/哈希碰撞
算法·哈希算法
致Great8 小时前
Pi 的上下文压缩,到底是怎么工作的?
算法
watersink9 小时前
机器学习聚类算法
算法·机器学习·聚类
luj_176810 小时前
桥牌思维启示:系统设计的模块化架构
c语言·开发语言·c++·经验分享·算法
饼饼学习空间智能11 小时前
家庭服务机器人训练数据怎么积累?仿真、真实采集与持续学习的技术路线分析
人工智能·算法·机器学习