【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.返回值地方:不要往下想,只要直到会返回什么就行

相关推荐
2401_841495646 小时前
【数据结构】红黑树的基本操作
java·数据结构·c++·python·算法·红黑树·二叉搜索树
西猫雷婶6 小时前
random.shuffle()函数随机打乱数据
开发语言·pytorch·python·学习·算法·线性回归·numpy
小李独爱秋6 小时前
机器学习中的聚类理论与K-means算法详解
人工智能·算法·机器学习·支持向量机·kmeans·聚类
小欣加油8 小时前
leetcode 1863 找出所有子集的异或总和再求和
c++·算法·leetcode·职场和发展·深度优先
十八岁讨厌编程8 小时前
【算法训练营Day27】动态规划part3
算法·动态规划
炬火初现9 小时前
Hot100-哈希,双指针
算法·哈希算法·散列表
weixin_3077791310 小时前
利用复变函数方法计算常见函数的傅里叶变换
算法
共享家952711 小时前
LeetCode热题100(1-7)
算法·leetcode·职场和发展
新学笺11 小时前
数据结构与算法 —— Java单链表从“0”到“1”
算法
同元软控11 小时前
首批CCF教学案例大赛资源上线:涵盖控制仿真、算法与机器人等9大方向
算法·机器人·工业软件·mworks