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 };