513. 找树左下角的值

2025/02/11 leetcode 共 473 字,约 2 分钟

title

problem link

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

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

示例 1:

img

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

示例 2:

img

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

提示:

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

solution

层次遍历,每次,从右到左。这样最后一个节点就是。

class Solution:
    def findBottomLeftValue(self, root: Optional[TreeNode]) -> int:
        import collections
        if not root:
            return -1
        q = collections.deque()
        q.append(root)
        ans = root
        while q:
            for _ in range(len(q)):
                p = q.popleft()
                ans = p
                if p.right:
                    q.append(p.right)
                if p.left:
                    q.append(p.left)
        return ans.val

Search

    Table of Contents