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.
Python Solution:
# 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
"""
stack = []
def preorder(root, level):
if level == len(stack):
stack.append(root.val)
if root.left: preorder(root.left, level + 1)
if root.right: preorder(root.right, level + 1)
preorder(root, 0)
return stack[-1]
Summary:
level == len(stack)
is funny.
LeetCode: 513. Find Bottom Left Tree Value
近期评论