Lista Vinculada Reversa Recursivamente
Tenho um nó definido na lista vinculada como:
typedef struct abc
{
int id;
struct abc *next;
}node;
Quero reverter uma lista vinculada recursivamente. Estou passando o ponteiro da cabeça para a função. Minha definição de função é semelhante a:
node *reverseLinkedListRecursively(node *head)
{
node *current;
node *rest;
if(head == NULL)
return head;
current=head;
rest=head->next;
if(rest == NULL)
{
return rest;
}
reverseLinkedListRecursively(rest);
current->next->next=rest;
current->next=NULL;
return rest;
}
Como devo proceder? Eu implementei a abordagem iterativa.