#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-06-30 19:19:31 发布
本文详细介绍了C++中链表反转算法的实现过程,包括定义链表节点结构、编写反转函数以及验证正确性的主要步骤。通过实例演示,帮助读者理解和掌握链表操作的基本技能。
5085

被折叠的 条评论
为什么被折叠?



