struct node{
int val;
node *next;
}
node *reverse(node *node)
{
if(node->next==null)
return node;
node *head=node;
node *p1,*p2,*p3;
p1=head;
p2=head->next;
while(p2->next!=null)
{
if(p1==head)
{
p1->next=null;
p2->next=p1;
p1=p2;
p2=p2->next;
}
p2->next=p1;
p1=p2;
p2=p2->next;
}
p2->next=p1;
p1=p2;
head=p1;
return head;
}
网友评论