gpt4 book ai didi

c - 我写了一个简单的函数来递归地反转链表。它返回更新后的头指针

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:41:50 25 4
gpt4 key购买 nike

struct node* reverse(struct node *head)  
{
static struct node *prev =NULL;
if(head==NULL) return prev;
struct node *q = head->next;
head->next=prev;
prev=head;
return reverse(q);
}

我看不出有什么问题。有人可以建议我是否做错了什么

最佳答案

如果您尝试使用此函数两次,那么您将体验到的行为将与您期望的行为不同,因为 static 变量只使用了一次。相反,我建议这样的事情:

struct node* reverse(struct node *current, isHead)
{
if (current->next == NULL)
{
return current;
}
struct node* ret = reverse(current->next);
if (isHead)
{
current->next = NULL;
}
current->next->next = current;
return ret;
}

关于c - 我写了一个简单的函数来递归地反转链表。它返回更新后的头指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35535570/

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