Toggle navigation
点码成金编程
F.A.Qs
ProblemSet
Source/Category
Status
Ranklist
Contest
Login
Home
=>
ProblemSet
=> 7.1-03:二叉树的直径
Problem1405--7.1-03:二叉树的直径
1405: 7.1-03:二叉树的直径
Time Limit:
1
Sec
Memory Limit:
128 MB
Submit:
0
Solved:
0
[
Submit
] [
Status
] [ Creator:
][ 参考程序 ]
Description
给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。
Input
第一行一个整数n,表示结点数
第二行n个数,构成一棵二叉树。-1表示非结点
Output
一个整数u,表示二叉树的直径
Sample Input
Copy
5 1 2 3 4 5
Sample Output
Copy
3
HINT
样例一解释:
给定二叉树
1
/ \
2 3
/ \
4 5
返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。
样例二:
左子树高度 + 右子树高度 = 7,而正确答案应该是 8。直径最长路径之一:[1, 0, 6, 8, 9, 7, 6, 9, 2]。
注意:两结点之间的路径长度是以它们之间边的数目表示。
Source/Category
数据结构
树