Salve a tutti!
Da diversi giorni sto impazzendo per la risoluzione di questo esercizio di programmazione:

Dato un albero binario di stringhe,scrivere una procedura che crei un figlio sinistro per ogni nodo interno avente solo il figlio destro. L'etichetta del nuovo nodo sarà pari alla concatenazione delle etichette dei nodi nel cammino della radice al nodo stesso.


Per la creazione dell'albero di stringhe non ho alcun problema. Basta considerare un tipo struct di questo tipo:


codice:
struct cella
          {   
                char inf[DIM];
                struct cella *sx;
                struct cella *dx;
          }

e creare una routine che mi gestisce la creazione restituendo il puntatore alla radice.

Per quanto riguarda la routine che risolva il problema non ho in merito alcuna idea. Ho pensato di creare una qualche funzione ricorsiva, ma non riesco proprio a cavare un ragno dal buco.

Ringrazio in anticipo chiunque abbia la cortesia di darmi una mano.
Buona giornata.