首先定义三个结点指针,cur代表当前指向的结点,pre表示当前结点的前一个结点,temp为一个临时储存结点;
将头节点赋给cur,通过判断cur是否为空来判断链表是否遍历完成,
主要操作就是每遍历到一个结点,要将此结点的next指针指向它前一个结点
利用temp来保存cur的下一个结点,利用pre来保存cur的上一个结点
public class Solution {
public ListNode ReverseList(ListNode head) {
ListNode cur=head;
ListNode pre=null;
ListNode temp;
while(cur!=null){
temp=cur.next;
cur.next=pre;
pre=cur;
cur=temp;
}
head=pre;
return head;
}
}