Sono abbastanza nuovo per gli alberi e sto cercando di creare una specie di "foglia iteratore". Sto pensando che dovrebbe mettere tutti i nodi che non hanno un valore .left
e .right
in pila, ma non sono sicuro di come o anche se sia la cosa giusta da fare. Ho provato a cercarlo, ma ogni esempio che ho incontrato inizia con l'andare alla foglia più a sinistra, e andando a p = node.parent
, e sto evitando il collegamento al genitore del nodo.Scorri l'albero di ricerca binario per trovare tutte le foglie
Non capisco come posso ripetere ripetutamente partire dalla radice e passare attraverso le viti senza visitare più volte le stesse viti.
EDIT
vedo la gente che suggerisce di usare un metodo ricorsivo per risolvere questo, e sono d'accordo ora. Ma ho sbattuto la testa cercando di trovare la soluzione per un iteratore di classe per farlo per un po ', e mi piacerebbe ancora sapere se è possibile, e come!
Vorrei raccomandare la ricorsione su un approccio iterativo. – Woot4Moo