/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* reverseList(struct ListNode* head){
struct ListNode*temp;//保存cur下一个位置
struct ListNode*cur=head;
struct ListNode*prev=NULL;
while(cur)
{
temp=cur->next;//保存cur下一个位置
cur->next=prev;
prev=cur;//更新
cur=temp;
}
return prev;
}
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode*reverse(struct ListNode*pre,struct ListNode*cur)
{
if(cur==NULL)
return pre;
struct ListNode*temp=cur->next;
cur->next=pre;
return reverse(cur,temp);
}
struct ListNode* reverseList(struct ListNode* head){
return reverse(NULL,head);
}