gpt4 book ai didi

c++ - 反转链表(通过递归)不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 07:16:34 25 4
gpt4 key购买 nike

我试图编写一段代码来反转链表,但得到了错误的输出。有什么我想念的吗。

这是函数

void reverselinklist( struct node **headreverse)
{
struct node *p = *headreverse;
if(p->next == NULL)
{
*headreverse = p;
return;
}

reverselinklist(&(p->next));
p->next->next = p;
p->next = NULL;

}

显示函数后

Input 409765
Output 4

最佳答案

*headreverse = p 没有意义。您应该每次都设置*headreverse = p->next 向前移动,直到到达最后一个节点。

无论如何,我更改了您的代码以使其工作:

void reverselinklist(struct node **headreverse)
{
struct node *p = *headreverse;
if(p->next == NULL){
return;
}
*headreverse = p->next;
reverselinklist(headreverse);
p->next->next = p;
p->next = NULL;
}

关于c++ - 反转链表(通过递归)不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24133850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com