206. Reverse Linked List

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* reverseList(ListNode* head) {
        if(!head)
            return head;
        ListNode * Dummy = new ListNode(-1);
        ListNode * pCur = head;
        ListNode * pNext = nullptr;
        while(pCur){
            pNext = pCur->next;
            pCur->next = Dummy->next;
            Dummy->next = pCur;
            pCur = pNext;
        }
        return Dummy->next;
        delete Dummy;
    }
};

 

posted on 2017-03-04 01:05  123_123  阅读(65)  评论(0编辑  收藏  举报