Qui non vedo "indentazione" (quindi non c'è bisogno di "sapere" il livello di profondità).Originariamente inviato da Number22
Ad esempio:
A (
B
C (
D
)
E
)
- la radice è A;
- A ha tre figli: B, C, E;
- C ha un figlio: D.
Non ho la minima idea di come fare!
Basta che fai un metodo ricorsivo che riceve un nodo. Stampi il nodo, poi verifichi se ha figli. Se ne ha stampi '('. Quindi vai a capo (in ogni caso).
Poi cicli sui figli e invochi ricorsivamente il metodo con il figlio i-esimo.
Finito il ciclo, sapendo che appunto figli ce n'erano, stampi una riga con ')'.
E la cosa funziona perfettamente, in generale.

Rispondi quotando