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;
}
Как именно он меняет список? Я понимаю, что он сначала устанавливает второй node на forward
. Тогда он говорит, что current.next
равно a null
node previous
. Затем он говорит, что previous
теперь current
. Наконец current
становится forward
?
Я не могу понять этого и как его реверсирование. Может кто-нибудь объяснить, как это работает?