Q:
给定一个二叉树,在树的最后一行找到最左边的值。
示例 1:
输入:
2
/ \
1 3
输出:
1
示例 2:
输入:
1
/ \
2 3
/ / \
4 5 6
/
7
输出:
7
链接:https://leetcode-cn.com/problems/find-bottom-left-tree-value/description/
思路:层次遍历返回最底层最左节点 效率跟屎一样
代码:
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def findBottomLeftValue(self, root):
"""
:type root: TreeNode
:rtype: int
"""
res = []
if root == None:
return []
from queue import Queue
q = Queue()
q.put((root,0))
while not q.empty():
node ,level = q.get()
if level == len(res):
res.append([])
res[level].append(node.val)
if node.left != None:
q.put((node.left,level+1))
if node.right != None:
q.put((node.right, level + 1))
return res[-1][0]