您的位置:首页 > 其它

Odd Even Linked List

2016-04-07 00:09 316 查看
我的是以奇数判断循环结束,但是不小心覆盖掉了……当初找更快解法的时候找了这个,说是12ms,结果跟我的一样还是20ms,可能有小差异。

class Solution {
public:
ListNode* oddEvenList(ListNode* head) {
if (head==NULL || head->next==NULL) return head;

ListNode* pOdd = head;
ListNode* evenHead = head->next;
ListNode* pEven = evenHead;

while (pEven->next) {
pOdd->next = pOdd->next->next;
pOdd = pOdd->next;

if (pOdd->next) {
pEven->next = pOdd->next;
pEven = pEven->next;
} else {
pEven->next = NULL;
}
}

pOdd->next = evenHead;
pEven->next = NULL;

return head;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: