【leetcode】1161. Maximum Level Sum of a Binary Tree
2024-09-05 20:28:36
题目如下:
Given the
root
of a binary tree, the level of its root is1
, the level of its children is2
, and so on.Return the smallest level
X
such that the sum of all the values of nodes at levelX
is maximal.Example 1:
Input: [1,7,0,7,-8,null,null]
Output: 2
Explanation:
Level 1 sum = 1.
Level 2 sum = 7 + 0 = 7.
Level 3 sum = 7 + -8 = -1.
So we return the level with the maximum sum which is level 2.Note:
- The number of nodes in the given tree is between
1
and10^4
.-10^5 <= node.val <= 10^5
解题思路:没什么好说的,依次计算出每一层的值,求出最大即可。
代码如下:
# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None class Solution(object):
dic = {}
def recursive(self,node,level):
self.dic[level] = self.dic.setdefault(level,0) + node.val
if node.left != None:
self.recursive(node.left,level+1)
if node.right != None:
self.recursive(node.right,level+1) def maxLevelSum(self, root):
"""
:type root: TreeNode
:rtype: int
"""
self.dic = {}
self.recursive(root,1)
max_val = 0
res = 0
for key,val in self.dic.iteritems():
if max_val < val:
max_val = val
res = key
return res
最新文章
- 三、oracle数据库成功安装步骤 Oracle数据源配置
- 把内容生成txt文件
- 在OSX下卸载Xamarin
- JTAG和SWD连接关系图
- SSH自定义分页标签
- 使用pycharm远程调试python代码
- [转]50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang Devs
- Linux下的”锁“事儿
- 合并大量txt文件的内容
- 关于ssh的一篇很好的文章
- pyramid的第一个项目
- nodejs and socket.io and iisnode
- js设置元素的onclick传参方法
- 使用PHP把下划线分隔命名的字符串 转换成驼峰式命名方式 , 把下划线后面的第一个字母变成大写
- ios中mvc的FormsAuthentication.SetAuthCookie(cookieUserName, false)失败
- Swift 2.0 字符串学习笔记(建议掌握OC字符串知识的翻阅)
- MAC上安装EndNote破解版的链接文件 以及某些安装好后有可能替换执照文件的方法
- Jade报错:Invalid indentation,you can use tabs or spaces but not both问题
- 关于MySQL的1064错误
- css垂直居中方法总结