# class Solution:

#     def largestValues(self, root: TreeNode) -> List[int]:

#         if not root:

#             return []

#         result = []

#         queue = deque([root])

#         while queue:

#             size = len(queue)

#             max_val = float('-inf')

#             for i in range(size):

#                 cur = queue.popleft()

#                 max_val = max(max_val, cur.val)

#                 if cur.left:

#                     queue.append(cur.left)

#                 if cur.right:

#                     queue.append(cur.right)

#             result.append(max_val)

#         return result

class Solution:

    def largestValues(self,root:TreeNode)->List[int]:

        if not root:

            return []

        res=[]

        queue=deque([root])

        while queue:

            level_max=float('-inf')

            size=len(queue)

            for i in range(size):

                cur=queue.popleft()

                level_max=max(level_max,cur.val)

                if cur.left:

                    queue.append(cur.left)

                if cur.right:

                    queue.append(cur.right)

            res.append(level_max)

        return res

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐