Очень долго тупил над этой задачей. На практике проще использовать чтение списка с конца. Так что задача имеет больше учебный характер. Немного погуглив нашел решение с помощью рекурсии.
Node * reverse(Node *head)
{
if (head == 0) return 0;
if (head->next == 0) return head;
Node * tmp = reverse(head->next);
head->next->next = head;
head->next = 0;
return tmp;
}
Комментариев нет:
Отправить комментарий