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.
扫描二维码关注公众号,回复:
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