描述
给定一棵二叉树的根节点 root ,请找出该二叉树中每一层的最大值
思路
1.层遍历时记录最大值
解答
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def largestValues(self, root: Optional[TreeNode]) -> List[int]:
if root is None:
return []
ret = []
q=[root, ]
while q:
curr_level = q
nxt_level = []
max_val = -inf
for node in curr_level:
if node:
max_val = max(max_val, node.val)
node.left and nxt_level.append(node.left) or None
node.right and nxt_level.append(node.right) or None
q = nxt_level
ret.append(max_val)
return ret