[leetcode_206]Reverse Linked List

反转单链表。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
class Solution {
public:
    ListNode* reverseList(ListNode* head) {
        if (NULL == head)
        {
            return head;
        }
        ListNode * before = NULL;
        ListNode * now = head;
        ListNode * next = now->next;

    while (NULL != next)
    {
        ListNode * beforeTmp = now;
        ListNode * nowTmp = next;
        ListNode * nextTmp = next->next;

        now->next = before;
        next->next = now;

        before = beforeTmp;
        now = nowTmp;
        next = nextTmp;
    }

    head = now;
    return head;
}
};
Licensed under CC BY-NC-SA 4.0