【发布时间】:2011-05-03 23:50:14
【问题描述】:
我正在尝试使用递归来反转链表并为其编写以下代码。列表的开头是列表的开头。
node *reverse_list_recursive(node *list)
{
node *parent = list;
node *current = list->next;
if(current == NULL)
return parent;
else
{
current = reverse_list_recursive(current);
current->next = parent;
printf("\n %d %d \n",current->value,parent->value);
return parent;
}
}
我可以看到所有链接都被反转了。但是,当我尝试显示时,我得到了无限的数字打印。当我尝试反转列表中第一个数字的链接时,我怀疑出现错误。
我做错了什么?
【问题讨论】:
-
不是重复的。不同的错误
-
如果
list == NULL,这段代码会做什么?
标签: c data-structures linked-list