【Java】【力扣】94.二叉树的中序遍历

思路

使用递归,1.大问题转化为小问题

2.出口,模拟一下最下层,不要卡死

3.有问题就模拟跑一遍

4.返回值地方:不要往下想,只要直到会返回什么就行

4.

代码

复制代码
class Solution {
        //遍历以 root为根的树
        public List<Integer> inorderTraversal(TreeNode root) {
            if (root==null){
                return new ArrayList<>();
            }

            //初始化 list
            List list=new ArrayList<Integer>();

            //左子树
            //问题转化为:遍历以root.left为根的树,并把结果返回,追加到原来的list上
            if(root.left!=null) {
                list.addAll(inorderTraversal(root.left));
            }

            //当前
            list.add(root.val);

            //右子树
            if(root.right!=null) {
                list.addAll(inorderTraversal(root.right));
            }
            return list;
        }
    }

总结

1.关于递归

使用递归,1.大问题转化为小问题

2.模拟出口,不要卡死

3.有问题就模拟跑一遍

4.返回值地方:不要往下想,只要直到会返回什么就行

相关推荐
努力学习的小廉5 分钟前
深入了解linux系统—— 线程同步
linux·服务器·数据库·算法
数据爬坡ing8 分钟前
从挑西瓜到树回归:用生活智慧理解机器学习算法
数据结构·深度学习·算法·决策树·机器学习
luoganttcc9 分钟前
小鹏汽车 vla 算法最新进展和模型结构细节
人工智能·算法·汽车
wallflower20201 小时前
滑动窗口算法在前端开发中的探索与应用
前端·算法
林木辛1 小时前
LeetCode热题 42.接雨水
算法·leetcode
MicroTech20252 小时前
微算法科技(NASDAQ: MLGO)采用量子相位估计(QPE)方法,增强量子神经网络训练
大数据·算法·量子计算
星梦清河2 小时前
宋红康 JVM 笔记 Day15|垃圾回收相关算法
jvm·笔记·算法
货拉拉技术2 小时前
揭秘语音交互的核心技术
算法
矛取矛求3 小时前
日期类的实现
开发语言·c++·算法
在下雨5993 小时前
项目讲解1
开发语言·数据结构·c++·算法·单例模式