#include <stack>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <string>
#include <iostream>
#include <algorithm>
#include <cstdio>
using namespace std;
struct ListNode {
int val;
ListNode *next;
ListNode(){};
ListNode(int x) : val(x), next(NULL) {}
};
ListNode* reverse(ListNode *head) {
ListNode *pre = NULL, *next = NULL;
while(head) {
next = head->next;
head->next = pre;
pre = head;
head = next;
}
return pre;
}
void print(ListNode* head) {
while(head) {
cout<<head->val<<" ";
head=head->next;
}
cout<<endl;
}
int main()
{
ListNode list[10];
for(int i=0;i<10;i++)
list[i].val = i;
for(int i=0;i<9;i++)
list[i].next=&list[i+1];
list[9].next=NULL;
cout<<"before reverse:"<<endl;
print(&list[0]);
cout<<"after reverse:"<<endl;
print(reverse(&list[0]));
system("PAUSE");
return 0;
}
反转单链表
最新推荐文章于 2022-09-21 21:52:47 发布