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
新聞熱點
疑難解答