用自己能倒腾过来的想法。
三个指针,pre. cur. temp;
由于cur!=null的条件的话,最后那行temp会执行temp.next,即null.next;
所以条件位temp时最后一个没转过来。那最后再加一行让最后两个节点的连线翻转过来。
public ListNode reverseList(ListNode head) {
while (head == null) {
return head;
}
ListNode pre = null;
ListNode cur = head;
ListNode temp = cur.next;
while (temp != null) {
cur.next = pre;
pre = cur;
cur = temp;
temp = cur.next;
}
cur.next = pre;
return cur;
}
}