Given a binary tree, find the leftmost value in the last row of the tree.
Example 1:
Input: 2 / / 1 3Output:1Example 2:
Input: 1 / / 2 3 / / / 4 5 6 / 7Output:7Note: You may assume the tree (i.e., the given root node) is not NULL.
Subscribe to see which companies asked this question.这应该就是一个很直白的广搜,每一层每一层的处理,最后返回最后一层的最左边的元素# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass 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
新闻热点
疑难解答