-1
Я пытаюсь удалить последние два в линейном связанном списке рекурсивно. Я не понимаю, почему этот код неисправен. Пожалуйста помоги. Есть ли лучший или более правильный способ рекурсивно удалить последние два узла?Рекурсивно удалять последние два узла
int remove(node * & head)
{
if(!head)
return 0;
if(!head -> next)
{
delete head;
head = NULL;
}
if(!head -> next -> next)
{
return remove(head -> next);
delete head;
head = NULL;
}
return remove(head -> next);
}