Buenas, queria saber si esta implementacion de caminoMasLargo es correcta o estoy perdiendo algo
int largoLista(Lista l){
if (l == NULL)
return 0;
else{
int cont = 0;
Lista auxl = l;
while(auxl != NULL){
cont++;
auxl = auxl->sig;
}
return cont;
}
}
Lista ListaMasLarga(lista l, lista p){
if (largoLista(l) >= largoLista(p))
return l;
else return p;
}
Lista caminoMasLargo(AB a){
Lista l = NULL;
if (a != NULL){
l = new nodoLista;
l->elem = a->elem;
l->sig = ListaMasLarga(caminoMasLargo(a->izq), caminoMasLargo(a->der));/*Le asigno a l->sig la lista que sea mas larga entre las dos que contienen a los caminos mas largos de a->izq y a-der*/
}
return l;