题目链接
英文链接:https://leetcode.com/problems/diameter-of-binary-tree/
中文链接:https://leetcode-cn.com/problems/diameter-of-binary-tree/
题目详述
给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过根结点。
示例 :
给定二叉树
1 | 1 |
返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。
注意:两结点之间的路径长度是以它们之间边的数目表示。
题目详解
- 定义一个计算支链最大长度的方法,传入一个结点,返回当前结点到某个叶子结点的最长路径(返回的是那条支链的结点数)。
- 对于一个结点来说,计算它的左子树和右子树的最长支链,两者的和就是经过当前结点的可能直径的长度,用这个值更新结果。
1 | public class LeetCode_00543 { |