[Leetcode]Reverse Linked List II

//将list存入vector。然后翻转中间部分数列
class Solution {
public:
    ListNode* reverseBetween(ListNode* head, int m, int n) {
        vector<ListNode*> node;
        ListNode* cur = head;
        for(int i=0;i<m-1;i++)
        cur=cur->next;
        for(int i=0;i<=n-m;i++)
        {
            node.push_back(cur);
            cur=cur->next;
        }
        for(int i=0;i<(n-m+1)/2;i++)
        swap(node[i]->val,node[node.size()-i-1]->val);
        return head;
    }
};
posted @ 2016-02-18 12:41  lcchuguo  阅读(129)  评论(0编辑  收藏  举报