leetcode Reverse Linked List

Reverse a singly linked list

 

对于这种可以修改值的,把值逆序就可以了。。。。用vector存,然后逆序读。

都忘了指针怎么赋值初始化了。*p=&head;

 1 /**
 2  * Definition for singly-linked list.
 3  * struct ListNode {
 4  *     int val;
 5  *     ListNode *next;
 6  *     ListNode(int x) : val(x), next(NULL) {}
 7  * };
 8  */
 9  class Solution {
10 public:
11     ListNode* reverseList(ListNode* head) {
12         if(head==NULL) return NULL;
13         vector<int> List1;
14         ListNode* p,*q;
15         p=head,q=head;
16         while(p!=NULL){
17             List1.push_back(p->val);
18             p=p->next;
19         }
20         int s=List1.size();
21         for(int i=s-1;i>=0;i--){
22             q->val=List1[i];
23             q=q->next;
24         }
25         return head;
26     }
27 };

 

posted @ 2015-11-17 19:03  0giant  阅读(158)  评论(0编辑  收藏  举报