用递归进行链表逆置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用递归进行链表逆置相关的知识,希望对你有一定的参考价值。

将不带头结点的链表进行逆置,一般可以采取用多个节点指针的方式。这里采用递归的方法。

 

 1 node* reverse(node* head , node* front = NULL)//head为头指针,调用此函数时只需传入第一个参数。返回值是逆置后链表的头指针
 2 {
 3     if(head == NULL)
 4     {
 5         return head ;
 6     }
 7     if(head->next != NULL)
 8     {
 9         node* temp = reverse(head->next , head) ;
10         head->next = front ;
11         return temp ;
12     }
13     else
14     {
15         head->next = front ;
16         return head ;
17     }
18 }

 

以上是关于用递归进行链表逆置的主要内容,如果未能解决你的问题,请参考以下文章

C++程序设计 编写程序实现单链表逆置功能。

表逆置[数组和链表]

对于"单链表逆置和递归"的问题的理解.

PTA 链表逆置

数据结构69:链表逆置,链表反转,链表翻转

[PTA]实验11-2-9 链表逆置