Leetcode 328 Solution
This article provides solution to leetcode question 328 (odd-even-linked-list)
Access this page by simply typing in "lcs 328" in your browser address bar if you have bunnylol configured.
Leetcode Question Link
https://leetcode.com/problems/odd-even-linked-list
Solution
/**
* 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 oddhead(0);
ListNode evenhead(0);
ListNode* odd_prev = &oddhead;
ListNode* even_prev = &evenhead;
auto p = head;
while (p)
{
odd_prev->next = p;
odd_prev = p;
p = p->next;
if (p == NULL)
break;
even_prev->next = p;
even_prev = p;
p = p->next;
}
odd_prev->next = evenhead.next;
even_prev->next = NULL;
return oddhead.next;
}
};