leetcode 513题

Posted by franki on November 6, 2022

leetcode 513 找树左下角的值

给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。

假设二叉树中至少有一个节点。

示例1

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

示例2

输入: [1,2,3,4,null,5,6,null,null,7]
输出: 7

思路

使用 dfs 便可得到结果

代码

/**
 * @param {TreeNode} root
 * @return {number}
 */
var findBottomLeftValue = function(root) {
    function dfs(root, height) {
        if (root === null) {
            return null;
        }

        height++;
        dfs(root.left, height);
        dfs(root.right, height);

        if (height > curHeight) {
            curVal = root.val;
            curHeight = height;
        }
    }

    let curHeight = 0;
    dfs(root, 0);
    return curVal;
};

复杂度分析:

  • 时间复杂度: O(LogN)
  • 空间复杂度:O(1)