【LeetCode】513. Find Bottom Left Tree Value【M】【73】


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.

Subscribe to see which companies asked this question.


这应该就是一个很直白的广搜,每一层每一层的处理,最后返回最后一层的最左边的元素




扫描二维码关注公众号,回复: 3811961 查看本文章

# 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):

        s = [root]
        t = []
        res = root.val
        while 1:
            t = []
            for root in s:
                if root.left:
                    t += root.left,
                if root.right:
                    t += root.right,
            if t == []:
                break
            else:
                s = t[:]
                res = t[0].val
        return res



        """
        :type root: TreeNode
        :rtype: int
        """
 
 


这种方法看起来也很厉害的样子


def findLeftMostNode(self, root):
     queue = [root]
     for node in queue:
          queue += filter(None(node.right,node.left))
     returnnode.val


猜你喜欢

转载自blog.csdn.net/sscssz/article/details/55662188