Skip to content
On this page

94. 二叉树的中序遍历

原题链接:LeetCode 94. 二叉树的中序遍历

题目描述

给定一个二叉树的根节点 root ,返回 它的 中序 遍历

示例 1:

**输入:**root = [1,null,2,3] 输出:[1,3,2]

示例 2:

**输入:**root = [] 输出:[]

示例 3:

**输入:**root = [1] 输出:[1]

提示:

- 树中节点数目在范围 `[0, 100]` 内

- `-100 <= Node.val <= 100`

进阶: 递归算法很简单,你可以通过迭代算法完成吗?

难度: Easy


题解代码

javascript
/**
 * Definition for a binary tree node.
 * function TreeNode(val) {
 *     this.val = val;
 *     this.left = this.right = null;
 * }
 */
/**
 * @param {TreeNode} root
 * @return {number[]}
 */
var inorderTraversal = (root, arr = []) => {
    if(root) {
        inorderTraversal(root.left, arr)
        arr.push(root.val)
        inorderTraversal(root.right, arr)
    }
    return arr
};

var inorderTraversal = root => {
    const ret = []
    const stack = []
    let cur = root
    while(cur || stack.length) {
        while(cur) {
            stack.push(cur)
            cur = cur.left
        }
        cur = stack.pop()
        ret.push(cur.val)
        cur = cur.right
    }
    return ret
}

技术文档集合