链表逆序
程序员文章站
2024-03-05 23:48:55
...
思路:3个辅助指针,不断移动指针位置
#include <iostream>
using namespace std;
typedef struct Node
{
int val;
struct Node* next;
}node;
node* reverse(node* head)
{
node* p=NULL;
node* q=NULL;
node* r=NULL;
p=head;
q=head->next;
head->next=NULL;
while(q!=NULL)
{
r=q->next;
q->next=p;
p=q;
q=r;
}
return p;
}
int main()
{
node* n1=new node;
node* n2=new node;
node* n3=new node;
n1->val=1;
n2->val=2;
n3->val=3;
n1->next=n2;
n2->next=n3;
n3->next=NULL;
node* h=new node;
h=reverse(n1);
while(h!=NULL)
{
cout<<h->val<<" ";
h=h->next;
}
}
上一篇: Mybatis实战之TypeHandler高级进阶
下一篇: Arrays