考虑如下:
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;
}
它到底如何反转列表?
我知道它首先将第二个节点设置为forward
。然后它说current.next
等于一个空节点previous
。 然后它说previous
现在是current
。最后,current
变成了forward
?
我无法理解这是如何反转的。 有人可以解释一下这是如何工作的吗?