Wie man eine verkettete Liste umkehrt?

 Node reverse(Node head) {
    Node previous = null;
    Node current = head;
    Node forward;

    while (current != null) {
        forward = current.next;
        current.next = previous;
        previous = current;
        current = forward;
    }

    return previous;
}

Wie genau ist es die Umkehrung der Liste? Ich verstehe, dass es setzt zuerst den zweiten Knoten zu forward. Dann heißt es current.next gleich ein null Knoten previous. Dann heißt es previous ist jetzt current. Schließlich current wird forward?

Ich kann nicht scheinen zu begreifen, und wie seine Umkehrung. Kann mir bitte jemand erklären, wie das funktioniert?

InformationsquelleAutor der Frage user1176235 | 2012-01-31

Schreibe einen Kommentar