力扣热门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;
    }
}
相关推荐
Cthy_hy20 小时前
拓扑排序超详解:原理 + Kahn 贪心算法
python·算法·贪心算法
三品吉他手会点灯20 小时前
C语言学习笔记 - 43.运算符与表达式 - 运算符1 - 运算符的分类和简单介绍
c语言·笔记·学习·算法
VkN2X2X4b20 小时前
算法复杂度的实验验证与误差分析的技术8
算法
其利天下技术20 小时前
风扇灯无刷电机自适应算法实战指南
算法·cocos2d·无刷电机自适应算法·bldc驱动自适应算法·其利无刷电机驱动算法
8Qi821 小时前
LeetCode 494:目标和(Target Sum)—— 题解 ✅
算法·leetcode·职场和发展·动态规划·01背包
hujinyuan2016021 小时前
2026年3月 中国电子学会青少年软件编程(Python)三级考试试卷 真题及答案
java·python·算法
froyoisle21 小时前
CSP-J 历年复赛 T1 及解析(2019~2025)
数据结构·c++·算法·csp-j·csp·算法竞赛·信息学
珊瑚里的鱼1 天前
【动态规划】打家劫舍Ⅱ
算法·动态规划
chao1898441 天前
SGM(Semi-Global Matching)立体匹配算法 — C++ 实现
开发语言·c++·算法
黎阳之光1 天前
数智赋能水厂全链路安全|黎阳之光以视频孪生技术落地供水精细化管控
人工智能·物联网·算法·安全·数字孪生