大家好,请帮我编写一个程序来反转链表中的指针。例如 A->B->C->D 将变为 A<-B<-C<-D 而不使用额外的链表。
编辑: ------ 好吧,伙计们,我一直在寻找这个问题的解决方案,这里是代码,以防你想要它:
void reverse_list(){
struct node *next, *current,*previous;
previous = NULL;
current =head;
while(current != NULL){
next = current->next;
current->next = previous;
previous=current;
current = next;
}
head = previous;
}
最佳答案
您可以将列表视为堆栈。然后,您可以通过“弹出”节点并将它们“插入”新列表来轻松反转这样的列表。
上面的操作可以是破坏性的(销毁旧列表)和非破坏性的(创建新列表作为原始列表的反向副本)。
关于c - 反转链表中的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56400418/