本题思路是从头往后翻转链表,用了一个临时节点temp作为中转节点和一个pre节点以及curr节点,先让临时节点为当前节点的下一个节点,然后当前节点curr下一个节点指向之前一个节点pre,然后让pre等于curr,curr等于temp。依此顺序往下遍历链表,直到curr为空
class Solution {
public ListNode reverseList(ListNode head) {
if(head==null||head.next==null)
return head;
ListNode p=null;
ListNode curr=head;
while(curr!=null)
{
ListNode temp=curr.next;
curr.next=p;
p=curr;
curr=temp;
}
return p;
}
}