【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 小时前
【算法题攻略】BFS 解决FloodFill 算法、最短路问题、多源BFS 和 拓扑排序
c++·算法·宽度优先
Adios7948 小时前
设置交集大小至少为2
数据结构·算法·leetcode
来一碗刘肉面14 小时前
栈的应用(表达式求值)
数据结构·算法
xiaowang1234shs15 小时前
怪兽轻断食技术深度测评:从断食计时引擎到AI识别算法的工程实践解析
数据库·人工智能·算法·macos·机器学习·p2p·visual studio
小果因子实验室15 小时前
量化研究--策略迁移算法1研究
算法
Web极客码16 小时前
如何用三段式确定性剪枝,为 LLM Agent 砍掉 35% 的 Token 成本?
服务器·人工智能·算法·机器学习
程序猿乐锅16 小时前
【数据结构与算法 | 第六篇】力扣1109,1094差分数组
java·算法·leetcode
wabs66616 小时前
关于图论【广度优先搜索的理论基础】
算法·图论·宽度优先
孤魂23316 小时前
逻辑回归算法
算法·机器学习·逻辑回归