【二叉树】二叉树的直径

0x00 题目
给你一棵二叉树,计算它的直径长度 一棵二叉树的直径长度是: 任意两个结点路径长度中的最大值 这条路径可能穿过也可能不穿过根结点
示例: 有这样一棵二叉树
1
/ /
2 3
/ /
4 5

返回结果:3 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]

0x01 思路
经过 某个节点 的最大路径是: 左子树最大高度 + 右子树最大高度 + 1 所以采用【后序遍历】的方式 记录一个最大值,并同时更新
为什么要采用【后序遍历】呢? 因为这种方式可以得到: 左子树最大高度 和 右子树最大高度

0x02 解法
语言:Swift
树节点:TreeNode
public class TreeNode {
public var val: Int
p

【二叉树】二叉树的直径最先出现在Python成神之路

版权声明:
作者:玉兰
链接:https://www.techfm.club/p/7265.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>