Leetcode 515.在每个树行中找最大值
1 题目描述(Leetcode题目链接)
您需要在二叉树的每一行中找到最大的值。
输入:
1
/ \
3 2
/ \ \
5 3 9
输出: [1, 3, 9]
2 题解
层序遍历找最大值。
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def largestValues(self, root: TreeNode) -> List[int]:
if not root:
return []
queue = collections.deque([root])
retv = []
while queue:
num = len(queue)
s = float("-inf")
while num > 0:
curr = queue.popleft()
s = max(s, curr.val)
if curr.left:
queue.append(curr.left)
if curr.right:
queue.append(curr.right)
num -= 1
retv.append(s)
return retv