【发布时间】:2023-03-27 12:31:01
【问题描述】:
我知道有很多答案,但我就是不明白为什么我的代码不起作用。 你能帮忙吗?
void reverse_LList_R_fail(Node** head) {
Node* current = *head;
if(current->next == nullptr) {
*head = current;
return;
}
reverse_LList_R_fail(&(current)->next);
current->next->next = current;
current->next = nullptr;
}
PS:在我的 LList 实现中,我定义了 Node* head = nullptr;作为一个全局变量,在我的赋值中,我必须使用双指针。
【问题讨论】:
-
贴出所有相关代码,什么不行?
-
“我的代码不起作用” 这不是对问题的有用描述,无法让我们帮助您。
-
1) 请提供minimal reproducible example。 2) 您是否尝试过使用调试器逐行单步执行代码,同时在每个执行步骤调查每个变量的值,并注意执行不执行的位置符合您的期望?
-
手动处理一个例子,比如 A->B->C->null。您可以很容易地看到它为什么不起作用。并请发布您发现的内容。
-
@Borna Jelic 我不知道谁对你的问题投了反对票,但显然对于初学者来说任务并不简单。
标签: c++ recursion linked-list reverse singly-linked-list