LeeCode 513. 找树左下角的值

513. 找树左下角的值

Difficulty: 中等

给定一个二叉树,在树的最后一行找到最左边的值。

示例 1:

输入:

    2
   / \
  1   3

输出:
1

示例 2:

输入:

        1
       / \
      2   3
     /   / \
    4   5   6
       /
      7

输出:
7

注意: 您可以假设树(即给定的根节点)不为 NULL

Solution

开始的时候把这道题想得太难了,层序遍历的方法没有用对,该题是层序遍历的变种,一层一层遍历下来,返回最先没有子节点的节点的val,即为树左下角的值。

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
​
class Solution:
    def findBottomLeftValue(self, root: TreeNode) -> int:
        queue = [root]
        while queue:
            root = queue.pop(0)
            if root.right:
                queue.append(root.right)
            if root.left:
                queue.append(root.left)
        return root.val
posted @ 2020-12-07 13:38  swordspoet  阅读(67)  评论(0编辑  收藏  举报