我有一个链表中定义的节点:
typedef struct abc
{
int id;
struct abc *next;
}node;
我想递归地反转一个链表。我将头指针传递给函数。我的函数定义如下:
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;
}
我该如何继续下去?我已经实现了迭代方法。