513. Find Bottom Left Tree Value

Given a binary tree, find the leftmost value in the last row of the tree.

Example 1:

Input:

    2
   / \
  1   3

Output:
1

 

Example 2:

Input:

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

Output:
7

 

Note: You may assume the tree (i.e., the given root node) is not NULL.

# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution(object):
    def findBottomLeftValue(self, root):
        """
        :type root: TreeNode
        :rtype: int
        """
        queue = [root]
        left = 0
        while queue:
            size = len(queue)
            for i in range(size):
                top = queue.pop(0)
                if i == 0:
                    left = top.val
                if top.left:
                    queue.append(top.left)
                if top.right:
                    queue.append(top.right)
        return left

 

posted @ 2020-03-10 20:10  米开朗菠萝  阅读(113)  评论(0编辑  收藏  举报