一、题目内容 中等

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

示例1:

输入: root = [2,1,3] 输出: 1 10. 找树左下角的值 - 图1

示例2:

输入: [1,2,3,4,null,5,6,null,null,7] 输出: 7 10. 找树左下角的值 - 图2

提示:

  • 二叉树的节点个数的范围是 [1,104]
  • -231 <= Node.val <= 231 - 1

    二、解题思路

    我们用队列,每次从每一层的最右边拿起,放入队列。
    每一层遍历完之后,拿到的就是最后一层最左边的值

    三、具体代码

    1. /**
    2. * @param {TreeNode} root
    3. * @return {number}
    4. */
    5. var findBottomLeftValue = function (root) {
    6. const queue = [root]
    7. let result = 0
    8. while (queue.length) {
    9. let len = queue.length
    10. for (let i = 0; i < len; i++) {
    11. const node = queue.shift()
    12. result = node.val
    13. if (node.right) queue.push(node.right)
    14. if (node.left) queue.push(node.left)
    15. }
    16. }
    17. return result
    18. };

    四、其他解法