【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;
};
相关推荐
cynicme1 小时前
力扣3318——计算子数组的 x-sum I(偷懒版)
java·算法·leetcode
im_AMBER4 小时前
算法笔记 09
c语言·数据结构·c++·笔记·学习·算法·排序算法
凯芸呢4 小时前
Java中的数组(续)
java·开发语言·数据结构·算法·青少年编程·排序算法·idea
寂静山林5 小时前
UVa 1030 Image Is Everything
算法
AI柠檬5 小时前
几种排序算法的实现和性能比较
数据结构·算法·c#·排序算法
weixin_429630265 小时前
第6章 支持向量机
算法·机器学习·支持向量机
SweetCode5 小时前
C++ 实现大数加法
开发语言·c++·算法
王哈哈^_^5 小时前
【数据集】【YOLO】【目标检测】共享单车数据集,共享单车识别数据集 3596 张,YOLO自行车识别算法实战训推教程。
人工智能·算法·yolo·目标检测·计算机视觉·视觉检测·毕业设计
CodeWizard~6 小时前
AtCoder Beginner Contest 430赛后补题
c++·算法·图论