当前位置:网站首页>【LeetCode】1161. 最大层内元素和
【LeetCode】1161. 最大层内元素和
2022-08-02 19:21:00 【pass night】
题目
给你一个二叉树的根节点 root。设根节点位于二叉树的第 1 层,而根节点的子节点位于第 2 层,依此类推。
请返回层内元素之和 最大 的那几层(可能只有一层)的层号,并返回其中 最小 的那个。
示例 1:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yK3DGt66-1659234515466)(figures/1161. 最大层内元素和/capture.jpeg)]
输入:root = [1,7,0,7,-8,null,null]
输出:2
解释:
第 1 层各元素之和为 1,
第 2 层各元素之和为 7 + 0 = 7,
第 3 层各元素之和为 7 + -8 = -1,
所以我们返回第 2 层的层号,它的层内元素之和最大。
示例 2:
输入:root = [989,null,10250,98693,-89388,null,null,null,-32127]
输出:2
提示:
- 树中的节点数在
[1, 104]范围内 -105 <= Node.val <= 105
思路
- 遍历每一层 ,求和,判断是否为最大值,若为最大值则记录最大值和层号
代码
# 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 maxLevelSum(self, root: Optional[TreeNode]) -> int:
maxSum,layer,currentLayer = -1<<31,0,0
queue = collections.deque([root])
while queue:
currentSum = 0
currentLayer += 1
for _ in range(len(queue)):
cur = queue.popleft()
currentSum += cur.val
if cur.left: queue.append(cur.left)
if cur.right: queue.append(cur.right)
if currentSum>maxSum:
maxSum,layer = currentSum,currentLayer
return layer
复杂度
- 时间复杂度: O ( n ) O(n) O(n)
- 空间复杂度: O ( n ) O(n) O(n)
边栏推荐
- 【C语言刷题】Leetcode203——移除链表元素
- 线程池原理与实践|从入门到放弃,深度解析
- 腾讯云孟凡杰:我所经历的云原生降本增效最佳实践案例
- openlayers版本更新差别
- 【C语言刷题】牛客网刷题——替换空格
- MySQL安装配置教程(超级详细)
- Based on OpenGL glaciers and firebird (illumination calculation model, visual, particle system)
- Mppt photovoltaic maximum power point tracking control matlab simulation
- js Fetch返回数据res.json()报错问题
- E - Addition and Multiplication 2(贪心)
猜你喜欢
随机推荐
JVM内存和垃圾回收-04.程序计数器(PC寄存器)
2022-07-26
TPAMI2022 | TransCL:基于Transformer的压缩学习,更灵活更强大
什么是现场服务管理系统(FSM)?有什么好处?
E - Addition and Multiplication 2(贪心)
What is a Field Service Management System (FSM)?what is the benefit?
golang刷leetcode动态规划(12)最小路径和
7.22 - 每日一题 - 408
深度学习-学习笔记(持续更新)
JVM内存和垃圾回收-06.本地方法栈
Caldera(一)配置完成的虚拟机镜像及admin身份简单使用
竞赛:糖尿病遗传风险检测挑战赛(科大讯飞)
EMQX Newsletter 2022-07|EMQX 5.0 正式发布、EMQX Cloud 新增 2 个数据库集成
日志框架学习
技术分享 | Apache Linkis 快速集成网页IDE工具 Scriptis
分布式事务
Flutter自带国际化适配自动生成方案
Redis 5 种数据结构及对应使用场景
溜不溜是个问题
Golang swagger :missing required param comment parameters









