Umkehrung der LinkedList in Java? Rekursion/Iteration?

1 Antwort

1.) Du iterierst durch die Schleife bis zum letztem Element und merkst dir dieses.

2.) Du hängst vorne jeweils ein Element aus und hängst dieses direkt an das gemerkte Element an. Das tust du solange, bis ganz vorne in deiner Liste das Element steht, das du dir zuvor gemerkt hast.

Laufzeit ist O(2n) wenn du es richtig machst. Es ginge aber auch in O(n), wenn du nicht erst bis zum letztem Element iterierst, sondern die Elemente woanders anhängst (e.g. an eine zweite Liste).
Da du dir die Tail aber sowieso zu speichern scheinst hast du ja sowieso schon eine Referenz darauf, dann kannst du es gleich so machen.