https://codility.com/programmers/lessons/14
We simply have to traverse the array by recursion.
void traverse(struct tree * T, int depth, int*max)
{
if (depth > *max){
*max = depth;
}
if (T->l != NULL){
traverse(T->l, depth + 1, max);
}
if (T->r != NULL){
traverse(T->r, depth + 1, max);
}
return;
}
int solution(struct tree * T)
{
//handle an empty tree here.
if (T == NULL){
return - 1;
}
int max = 0;
traverse(T, 0, &max);
return max;
}
0 件のコメント:
コメントを投稿