2017小米面试-数的高度

2017小米面试-数的高度

现在有一棵合法的二叉树,树的节点都是用数字表示,现在给定这棵树上所有的父子关系,求这棵树的高度

输入
输入的第一行表示节点的个数n(1<=n<=1000,节点的编号为0到n-1)组成,

下面是n-1行,每行有两个整数,第一个数表示父节点的编号,第二个数表示子节点的编号

输出
输出树的高度,为一个整数

样例输入:
5

0 1

0 2

1 3

1 4
样例输出:
3

解法:初始化一个数组,大小为n,下标表示每一个结点的索引值。存储的内容表示父节点。类似于数据库中的无限分类。遍历求出每一个结点的深度,其中的最大值,就是数的深度。

#include 
#include 
#include 

using namespace std;

#define mianShi001 main

int mianShi001(){
    int n;
    cin>>n;
    vector tree(n,-1);
    for(int i=0;i> f_node >> c_node;
        tree[c_node] = f_node;
    }
    int high = 0;
    for(int i=0;i high)
            high = temp;
    }
    cout<

你可能感兴趣的:(算法)