10.3 BinTree Node traverse

LinkedList über rekursive Aufrufe

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

10.3 BinTree Node traverse
Ich habe die Methode rekursive implementiert und sie liefert auch die Werte in der richtigen Reihenfolge, wenn ich sie mir in der Konsole ausgeben lasse. Am Anfang der Methode leg ich mir eine neue LinkedList an. Aber ich scheitere daran, die Werte nacheinander in eine LinkedList zu speichern. Hat da jemand eine Idee wie man das lösen kann? Wird hier bei jedem rekursiven Methodenaufruf eine neue LinkedList angelegt? Ich steh irgendwie aufm Schlauch.


Genau, es wird eine neue Liste angelegt, dann (je nach order) erst der eigene Wert hinzugefügt, bzw. die Liste die die Kinder zurückliefern mit addAll() an die eigene angefügt und diese ausgegeben.

1 „Gefällt mir“

Jetzt funktionierts. Hatte das mit dem addAll nicht bedacht. Danke für die schnelle Antwort:)


Habe das gleiche Proble und blicke noch nicht ganz durch.
Wie ist das genau gemeint?
Mache ich z.B. bei PreOrder erst list.add(this);
und dann wenn ich einen linken, bzw rechten Nf habe list.addAll(nF.traverse())?


Jup, so sollte es gehen.

(Also statt add(this) wird natürlich nur der Wert und nicht der ganze node hinzugefügt)