题目描述
输入一个链表,反转链表后,输出新链表的表头。
注意:这个链表有效值是从head开始而不是head->next开始的
下面的代码没有动指针只是改值了,不是很推荐,但是通过了测试,有时间再写动指针的方法吧
c++代码如下:
/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode* ReverseList(ListNode* head) { ListNode *p=head; int top=0; vector res; if(p==NULL) return NULL; while(p) { res.push_back(p->val); p=p->next; }reverse(res.begin(),res.end()); p=head; while(p){ p->val=res[top]; top++;p=p->next; } return head; }};