目录

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
7
class Solution:
    def largestValues(self, root: Optional[TreeNode]) -> List[int]:
        res,Q = [],[root] if root else []
        while Q:
            res.append(max(u.val for u in Q))
            Q = [c for u in Q for c in [u.left,u.right] if c]
        return res

60 ms