思想
- 其实就是设置两个指针 pointer1, pointer2 。同步的移动pointer1, pointer2 ,head 这3个指针。这 3 个指针的前后顺序刚好是pointer1, pointer2 ,head。
- 这道题应该注意的是while循环的判断条件: pointer2 != null
代码
public ListNode reverse(ListNode head) {
ListNode pointer1, pointer2;
pointer1 = null;
pointer2 = head;
while(pointer2 != null) {
head = head.next;
pointer2.next = pointer1;
pointer1 = pointer2;
pointer2 = head;
}
return pointer1;
}