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 30 31 32 33 34 35 36 37 38 39
|
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* oddEvenList(ListNode* head) { ListNode *odd_dummy = new ListNode(1); ListNode *even_dummy = new ListNode(2); ListNode *odd_cur = odd_dummy; ListNode *even_cur = even_dummy; ListNode *cur = head; int count = 1; while(cur != NULL) { if(count++ % 2 == 1) { odd_cur->next = cur; cur = cur->next; odd_cur = odd_cur->next; odd_cur->next = NULL; } else { even_cur->next = cur; cur = cur->next; even_cur = even_cur->next; even_cur->next = NULL; } } odd_cur->next = even_dummy->next; return odd_dummy->next; } };
|
近期评论