二叉树的最大宽度--google面试遇到过,他是要求求解所有路径path
2023-09-14 09:11:45 时间
543. 二叉树的直径
难度简单
给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。
示例 :
给定二叉树
1 / \ 2 3 / \ 4 5
返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。
方法:深度优先搜索
class Solution: def diameterOfBinaryTree(self, root: Optional[TreeNode]) -> int: self.path_len = 0 # 记录的是路径节点数目 def dfs(root): if not root: return 0 height_l = dfs(root.left) height_r = dfs(root.right) self.path_len = max(self.path_len, height_l+height_r+1) # height_l+height_r+1就是左边的节点个数+右边节点个数+根节点1个 return 1 + max(height_l, height_r) dfs(root) return self.path_len - 1 # 路径节点数目 - 1才是长度
链接:https://leetcode.cn/problems/diameter-of-binary-tree/solution/er-cha-shu-de-zhi-jing-by-leetcode-solution/
相关文章
- 盘点Google I/O 2013的缺席者
- Google账号登陆检测出现异常活动,谷歌账号提示此号码已多次用于验证的原因深度解析
- 2022年Google账号提示活动异常,登陆谷歌账号手机号无法验证|试了好多办法终于解决
- SEO学习(九)——快速网站诊断(Google网管工具)[通俗易懂]
- 抛弃 Google,Debian 改将 DuckDuckGo 作为默认搜索引擎
- Google:我能把文本变成音乐,但这个 AI 模型不能对外发布!
- Google Friend Connect: 给你的网站加上社会化属性
- jQuery Google Charts—-一个封装google chart api的jquery插件详解编程语言
- 美参议员沃伦呼吁调查Google的“Project Bernanke”项目
- Google开源C/C++版MapReduce框架
- 开源浏览器引擎开发:Google 的人数是 Mozilla 的两倍
- 谷歌回应 Google Maps 遭“入侵”一事:乐于看到这种创造性用途
- Google 将限制 Android 应用在后台访问地理位置数据
- Google Talk是Google 的即时通讯方式,简称Gtalk。它可以进行文字 google talk聊天以及电脑对电脑的语音连接通话。Google此举进一步激化了它和雅虎,微软以及美国在线之间的竞争
- prettify代码高亮着色器google出品