在这里,我试图迭代地反转列表。但问题是列表有多大,说 3->2->4->NULL,最后变成 3->NULL,即只有一个元素的列表。请告诉代码中的问题是什么。
struct node *reverselist(struct node *head)
{
struct node *list=head;
if(head==NULL)
{
printf("\nThe list is empty\n");
return head;
}
if(head->next==NULL)
{
printf("\nThe list has only one element\n");
return head;
}
struct node *cur=head;
struct node *new=head->next;
while(cur->next!=NULL)
{
cur->next=new->next;
new->next=cur;
new=cur->next;
}
return list;
}