可以建立一个数组存每个节点的深度,求最大深度吗?
代码贴上,求指教
#include <iostream>
using namespace std;
int tree[1000001];
int n, l, r;
int main(){
cin >> n;
if(n == 1){
cout << 1;
return 0;
}
tree[1] = 1;
int Max = 0;
for(int i = 1; i <= n; i++){
cin >> l >> r;
if(l != 0) tree[l] = tree[i]+1;
if(r != 0) tree[r] = tree[i]+1;
if(l == 0 && r == 0) continue;
Max = max(Max, tree[i]+1);
}
cout << Max;
}