力扣热门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;
    }
}
相关推荐
en.en..1 小时前
Linux fork() 工作原理
数据结构·算法
地平线开发者1 小时前
bevformer算法模型详细解读
算法
liliangcsdn2 小时前
ICIR权重矩阵如何加权标准化为综合因子
算法
SDWAN_Cheap2 小时前
SD-WAN智能选路技术的算法与实现机制
算法·php·sdwan
artificiali3 小时前
拼好卷 05
职场和发展
不会就选b3 小时前
数据结构之树&&二叉树(二)
数据结构·算法
渡之3 小时前
ArduPilot (APM)滤波器之SlewLimiter 深度解析
算法
zander2584 小时前
LeetCode 1143. 最长公共子序列
开发语言·python·算法
Sumerking4 小时前
llc_control.c 专项评审(v3 更新版)
c语言·开发语言·算法·obc
L小航呀4 小时前
代码随想录刷题 Day16
leetcode·面试