我不明白为什么我们要在此函数中使用下一个节点,如果实际上我们并不需要它,但是当我尝试删除下一个节点指针时,程序仅将我的输出作为一个节点。如果有人可以向我解释我在此程序中解释的错误并帮助我理解这个概念,那就太好了。
//node is a datatype of struct *node and I have used typedef to make it simpler.
node Reverse(node head)
{
node temp,prevnode=NULL;
node nextnode;
temp=head;
while(temp!=NULL)
{
nextnode=temp->next;
temp->next=prevnode;
prevnode=temp;
temp=nextnode;
}
head=prevnode;
return(head);
}
因此,基本上,您正在做的是遍历链表,并使所有链接指向。