513. 找树左下角的值
题目
给定一个二叉树,在树的最后一行找到最左边的值。
输入:
2
/ \
1 3
输出:
1
输入:
1
/ \
2 3
/ / \
4 5 6
/
7
输出:
7
思路
用一个队列存储树一层的所有节点
再用一个数组存储一层的所有元素
最后返回数组的第一个元素
代码
# 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: TreeNode) -> int:
if not root:
return 0
if root.left==None and root.right==None:
return root.val
queue = [root]
temp = []
while queue:
temp = []
for i in range(len(queue)):
node = queue.pop(0)
temp.append(node.val)
if(node.left):
queue.append(node.left)
if(node.right):
queue.append(node.right)
return temp[0]