Odd Even Linked List

class Solution(object):
    def oddEvenList(self, head):
        dummy = ListNode(0)
        dummy.next = head
        odd = dummy.next
        if not odd or not odd.next:
            return head
        even = odd.next
        dummy_even = ListNode(0)
        dummy_even.next = even
        while even and odd:
            odd.next = even.next
            odd = odd.next
            if odd:
                even.next = odd.next
                even = even.next
        cur = head
        while cur.next:
            cur = cur.next
        cur.next = dummy_even.next
        return dummy.next

Leave a comment