28.二叉树的中序遍历

题目描述:

给定一个二叉树,返回它的中序 遍历。
示例:

输入: [1,null,2,3]
   1
    \
     2
    /
   3

输出: [1,3,2]

代码实现:

  • 递归法,中序遍历是左节点,根节点,右节点的顺序遍历,按照这个思路即可。前序中序后序遍历指的是根节点遍历的位置。
  • 时间复杂度:O(n)
/**
 * Definition for a binary tree node.
 * function TreeNode(val) {
 *     this.val = val;
 *     this.left = this.right = null;
 * }
 */
/**
 * @param {TreeNode} root
 * @return {number[]}
 */
var inorderTraversal = function(root) {
    var stack = []
    var res = (root, stack) => {
        if (root !== null) {
            res(root.left, stack)
            stack.push(root.val)
            res(root.right, stack)
        }
    }
    res(root, stack)
    return stack
};

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章