leetcode_odd_even_linked_list 发表于 2016-12-01 难度:Medium 代码如下。 123456789101112131415161718192021222324252627282930313233343536373839/** * 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; }}; 运行结果:16ms,超过30.10%