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
};

在這裏插入圖片描述

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