#include <iostream>
struct node
{
int data;
node* next;
node(int d)
{
data = d;
next = NULL;
}
};
void reverseLinklist(node** headRef)
{
if(!*headRef)
return;
node* first = *headRef;
node* rest = first->next;
if(!rest)
return;
reverseLinklist(&rest);
first->next->next = first;
first->next = NULL;
*headRef = rest;
}
int main()
{
node* n1 = new node(1);
node* n2 = new node(2);
node* n3 = new node(3);
node* n4 = new node(4);
n1->next = n2;
n2->next = n3;
n3->next = n4;
node* head = n1;
reverseLinklist(&head);
return 0;
}
Linkedlist recursively reverse
最新推荐文章于 2021-02-16 05:45:13 发布