用递归进行链表逆置

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

 

 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 }

 

posted @ 2017-04-01 18:46  杨文的博客  阅读(893)  评论(0编辑  收藏  举报