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]