首页 > 代码库 > 最长链

最长链

【题目描述】

现给出一棵N个结点二叉树,问这棵二叉树中最长链的长度为多少,保证1号结点为二叉树的根。

【输入描述】

输入的第1行包含一个正整数N,为这棵二叉树的结点数,结点标号为1~N;

接下来N行,第i行包含两个正整数L[i]、R[i],表示了结点i的左儿子与右儿子编号。

如果L[i]=0,表示结点i没有左儿子,如果R[i]=0,则表示没有右儿子。

【输出描述】

输出包含1个正整数,为这棵二叉树的最长链长度。

【样例输入】

5

2 3

4 5

0 6

0 0

0 0

【样例输出】

4

【数据范围及提示】

样例中,4-2-1-3-6为这棵二叉树中的一条最长链。

对于10%的数据,N ≤ 10;

对于40%的数据,N ≤ 100;

对于50%的数据,N ≤ 1000;

对于60%的数据,N ≤ 10000;

对于100%的数据,N ≤ 100000,且保证树的深度不超过32768。

最长链