Leetcode 328 : Odd Even Linked List
Solution to Odd Even Linked List Problem. Watch this video for more detailed explanation.
class Solution {
public ListNode oddEvenList(ListNode head) {
if(head == null)
return head;
ListNode oddStart = head;
ListNode evenStart = head.next;
ListNode evenCur = evenStart;
ListNode oddCur = oddStart;
while(oddCur != null && oddCur.next != null && evenCur != null && evenCur.next != null) {
// This approach also works
// oddCur.next = oddCur.next.next;
// evenCur.next = evenCur.next.next;
// oddCur = oddCur.next;
// evenCur = evenCur.next;
oddCur.next = evenCur.next;
oddCur = oddCur.next;
evenCur.next = oddCur.next;
evenCur = evenCur.next;
}
oddCur.next = evenStart;
return head;
}
}