【LeetCode热题100(36/100)】二叉树的中序遍历

题目地址: 链接
思路:

  1. 递归解法适合理解中序遍历的基本逻辑,代码量少,但受限于树的深度(暴栈)。
  2. 迭代解法(栈实现)更稳定,适用于所有场景,尤其是大规模树结构。
js 复制代码
/**
 * Definition for a binary tree node.
 * function TreeNode(val, left, right) {
 *     this.val = (val===undefined ? 0 : val)
 *     this.left = (left===undefined ? null : left)
 *     this.right = (right===undefined ? null : right)
 * }
 */
/**
 * @param {TreeNode} root
 * @return {number[]}
 */
var inorderTraversal = function(root) {
    let ans = [];
    let stk = [];
    while(root || stk.length) {
        while(root) {
            stk.push(root);
            root = root.left;
        }
        root = stk.pop();
        ans.push(root.val);
        root = root.right;
    }
    return ans;
};
相关推荐
a努力。5 分钟前
国家电网Java面试被问:最小生成树的Kruskal和Prim算法
java·后端·算法·postgresql·面试·linq
Geminit7 分钟前
无人机培训,蚂蚁智飞在线训练,AI赋能新培训/学习模式
职场和发展
洛生&11 分钟前
Counting Towers
算法
Evand J19 分钟前
【MATLAB例程,附代码下载链接】基于累积概率的三维轨迹,概率计算与定位,由轨迹匹配和滤波带来高精度位置,带测试结果演示
开发语言·算法·matlab·csdn·轨迹匹配·候选轨迹·完整代码
X在敲AI代码23 分钟前
LeetCode 基础刷题D2
算法·leetcode·职场和发展
源代码•宸27 分钟前
Leetcode—1929. 数组串联&&Q1. 数组串联【简单】
经验分享·后端·算法·leetcode·go
数据大魔方37 分钟前
【期货量化实战】跨期套利策略:价差交易完整指南(TqSdk源码详解)
数据库·python·算法·github·程序员创富
weixin_4617694039 分钟前
15. 三数之和
c++·算法·leetcode·三数之和
NAGNIP41 分钟前
一文搞懂机器学习中的学习理论!
算法·面试
Evand J1 小时前
【MATLAB代码介绍】基于累积概率的三维轨迹匹配与定位,由轨迹匹配和卡尔曼滤波形成算法,带测试结果演示
算法·matlab·滤波·定位·导航·轨迹匹配