Я пытаюсь перевернуть связанный список с помощью рекурсии и написал для него следующий код. Список является началом списка в начале.
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;
}
}
Я видел, что все ссылки меняются местами. Однако, когда я пытаюсь отобразить, я получаю бесконечное количество отпечатков чисел. Я подозреваю, что произошла ошибка, когда я пытаюсь перевернуть ссылку для первого номера в списке.
Что я делаю не так?