反转单链表

来源:互联网 发布:如何向网页中注入js 编辑:程序博客网 时间:2024/06/05 23:07
#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;}

0 0