带表头的单链表递归实现逆转方法求助
无表头的单链表用递归非递归实现逆转都较容易实现,对于有表头的单链表非递归可以容易实现逆转,如果用递归有没有较好的办法,求大神指点菜鸟~
[解决办法]
这样?
node *reverse_list(node *head, node *pre = NULL)
{
if (NULL == head)
return pre;
node *new_head = reverse_list(head->next, head);
head->next = pre;
return new_head;
}
node *reverse_list(node *head)
{
if (NULL == head
[解决办法]
NULL == head->next)
return head;
node *new_head = reverse_list(head->next);
head->next->next = head;
head->next = NULL;
return new_head;
}