513. Find Bottom Left Tree Value (Medium)
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.
思路:
BFS、队列
队列中的最后一个节点即为二叉树中最后一行最左边的节点;
(利用Python的Queue)
# Definition for a binary tree node. # class TreeNode(object): # def __init__(self, x): # self.val = x # self.left = None # self.right = None import Queue class Solution(): def findBottomLeftValue(self, root): """ :type root: TreeNode :rtype: int """ # queue = [root] # for node in queue: # queue += filter(None, (node.right, node.left)) # return node.val q = Queue.Queue() q.put(root) node = None while not q.empty(): node = q.get() if node.right: q.put(node.right) if node.left: q.put(node.left) return node.val