剑指 Offer II 044. 二叉树每层的最大值

剑指 Offer II 044. 二叉树每层的最大值 #

  • 标签:树、深度优先搜索、广度优先搜索、二叉树
  • 难度:中等

题目大意 #

给定一棵二叉树的根节点 root

要求:找出二叉树中每一层的最大值。

解题思路 #

利用队列进行层序遍历,并记录下每一层的最大值,将其存入答案数组中。

代码 #

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
class Solution:
    def largestValues(self, root: TreeNode) -> List[int]:
        queue = []
        res = []
        if root:
            queue.append(root)
        while queue:
            max_level = float('-inf')
            size_level = len(queue)
            for i in range(size_level):
                node = queue.pop(0)
                max_level = max(max_level, node.val)
                if node.left:
                    queue.append(node.left)
                if node.right:
                    queue.append(node.right)
            res.append(max_level)
        return res
本站总访问量  次  |  您是本站第  位访问者