树的高度,用C语言编写程序

题目描述:一棵树有n个节点,其中1号节点为根节点
输入要求:第一行是整数n,表示节点数
后面若干行,每行两个整数a,b,表示b是a的子节点
输出要求:求这棵树的高度(根节点为第一层)
假如输入
5
1 2
1 3
3 4
3 5
应当输出
3

#include <stdio.h>

int main () 
{
    int a, b, n, m = 0;
    int tree[1000] = {0}; /* 最大结点数+1 */

    scanf("%d", &n);
    while (n-- > 1) //根节点计算在节点个数内,就是用1,否则使用0
    {
        scanf("%d %d", &a, &b);
        tree[b] = tree[a] + 1;
        if (m < tree[b]) m = tree[b];
    }

    printf("%d", m + 1);
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
相似回答