Rivediamo ora l'esercizio di somma delle foglie di un albero quando questo è rappresentato usando liste per i figli di un nodo.
L'algoritmo è sempre lo stesso: l'albero vuoto ha somma zero, l'albero composto da un solo nodo ha come somma delle foglie il valore del nodo, mentre negli altri casi va fatta la somma su tutti i sottoalberi.
Quando l'insieme dei figli è rappresentato con liste, la somma si trova facendo la chiamata ricorsiva sui figli, che si trovano facendo la scansione della lista a->figli.
int SommaFoglie(TipoAlbero a) { TipoLista l; int somma; if(a==NULL) return 0; if(a->figli==NULL) return a->info; somma=0; l=a->figli; while(l!=NULL) { somma+=SommaFoglie(l->figlio); l=l->next; } return somma; }