【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;
};
相关推荐
pao__pao_1 小时前
计算机系统大作业 程序人生-Hello’s P2P
程序人生·职场和发展·课程设计
munubak1 小时前
程序人生-Hello’s P2P
程序人生·职场和发展
努力学算法的蒟蒻1 小时前
day109(3.10)——leetcode面试经典150
面试·职场和发展
芝士爱知识a1 小时前
【程序人生】码农考公指南:是“降维打击”还是“围城自困”?
程序人生·职场和发展·程序员·公务员·考公·职场规划
炒鸡菜6661 小时前
程序人生-Hello’s P2P
c语言·程序人生·职场和发展
weixin_458872612 小时前
东华复试OJ二刷复盘2
算法
Charlie_lll2 小时前
力扣解题-637. 二叉树的层平均值
算法·leetcode
爱淋雨的男人2 小时前
自动驾驶感知相关算法
人工智能·算法·自动驾驶
wen__xvn2 小时前
模拟题刷题3
java·数据结构·算法
滴滴答滴答答2 小时前
机考刷题之 6 LeetCode 169 多数元素
算法·leetcode·职场和发展