543. Diameter of Binary Tree
Given a binary tree, you need to compute the length of the diameter of the tree.
The diameter of a binary tree is the length of the longest path between any two nodes in a tree.
This path may or may not pass through the root.
Example:
Given a binary tree
1 / \ 2 3 / \ 4 5
Return 3, which is the length of the path [4,2,1,3] or [5,2,1,3].
Note: The length of path between two nodes is represented by the number of edges between them.
路径未必经过root结点,
参考
1
2
34
5678
最长的跨度是第四层的结点之间,比如5和8的跨度是4,53248
经过观察可以发现,最大路径存在于,左子结点和右子结点之间。
比如上面第一个例子的34和35,
第二个例子根结点的右结点不存在
还有一种情况
1
2
3
单层的,叶结点和根结点距离最大
https://www.geeksforgeeks.org/diameter-of-a-binary-tree/
The diameter of a tree T is the largest of the following quantities:
* the diameter of T’s left subtree
* the diameter of T’s right subtree
* the longest path between leaves that goes through the root of T (this can be computed from the heights of the subtrees of T)
https://www.jianshu.com/p/6e3125b552f4
本题要求最长路径长,可以转化为求最长路径中的节点个数-1
最长路径包含以下三种情况:
1 根节点包含在最长路径中,则节点个数 = 左树高 + 右树高 + 1
2 最长路径在左子树中,则可以求左子树的最长路径的节点数目
3 最长路径在右子树中,则可以求右子树的最长路径的节点数目
对这三种情况进行比较,即可求出最长路径
作者:Chuck Lu GitHub |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2018-06-19 NPOI设置Excel中的单元格识别为日期
2017-06-19 FileStream vs/differences StreamWriter?
2017-06-19 Excel显示当前日期
2015-06-19 编程概念--使用async和await的异步编程
2014-06-19 Winform中使用折叠窗口