目录

0515:在每个树行中找最大值(★)

力扣第 515 题

题目

给定一棵二叉树的根节点 root ,请找出该二叉树中每一层的最大值。

示例1:

输入: root = [1,3,2,5,3,null,9]
输出: [1,3,9]

示例2:

输入: root = [1,2,3]
输出: [1,3]

提示:

  • 二叉树的节点个数的范围是 [0,104]
  • -231 <= Node.val <= 231 - 1

分析

层序遍历并取最大值即可。

解答

1
2
3
4
5
6
def largestValues(self, root: TreeNode) -> List[int]:
    res, level = [], [root] if root else []
    while level:
        res.append(max(node.val for node in level))
        level = [child for node in level for child in [node.left, node.right] if child]
    return res

60 ms