反转链表就是
先把当前节点所指向的原节点存起来,这里用tmp表示,此时tmp的值为2;
然后使当前节点指向前一个节点(cur.next=pre),然后将当前节点的值赋给pre(pre=cur);再然后就是使tmp为当前节点(cur=tmp)。
就是改变节点所指方向后,整体后移。
public class Solution {
public ListNode ReverseList(ListNode head) {
if(head==null)
return null;
ListNode cur=head;
ListNode tmp=null;
ListNode pre=null;
//反转链表,
while(cur!=null){
//把cur.next的值存储起来
tmp=cur.next;
//让cur指向pre
cur.next=pre;
//然后将cur的值赋给pre
pre=cur;
//现在的cur为tmp
cur=tmp;
}
return pre;
}
}