头插法解题思路:
头插法思路:
指针指向链表的头节点,反转指针的下一个节点
反转步骤:
- 指pHead指向第一个节点,指针pre指向待反转节点的上一个节点
- 使用临时变量存储待反转节点cur=pre.next
- 将cur节点从链表中取出:pre.next=cur.next
- 将cur放置到第一个节点cur.next=pHead
- head指向cur
public class Solution {
public ListNode ReverseList(ListNode head) {
ListNode pHead = head;
ListNode pre = head;
ListNode cur;
if(head==null){
return null;
}
while(pre.next!=null){
cur=pre.next;
pre.next=cur.next;
cur.next=pHead;
pHead=cur;
}
return pHead;
}
}