struct ListNode* reverseList(struct ListNode* head){
if(head==NULL)
return NULL;
struct ListNode* n1,* n2,* n3;
n1=NULL;
n2=head;
n3=head->next;
while(n2 !=NULL)
{
//翻转
n2->next=n1;
//迭代往后走
n1=n2;
n2=n3;
if(n3)
n3=n3->next;
}
return n1;
}
//头插法
struct ListNode* reverseList(struct ListNode* head){
struct LIstNode* cur=head;
struct ListNode* newhead=NULL;
while(cur)
{
struct ListNode*next=cur->next;
//头插
cur->next=newhead;
newhead=cur;
//迭代往后走
cur=next;
}
return newhead;
}