# LeetCode — Odd Even Linked List

Given the `head`

of a singly linked list, group all the nodes with odd indices together followed by the nodes with even indices, and return *the reordered list*.

The **first** node is considered **odd**, and the **second** node is **even**, and so on.

Note that the relative order inside both the even and odd groups should remain as it was in the input.

You must solve the problem in `O(1)`

extra space complexity and `O(n)`

time complexity.

**Example 1:**

**Input:** head = [1,2,3,4,5]

**Output:** [1,3,5,2,4]

**Example 2:**

**Input:** head = [2,1,3,5,6,4,7]

**Output:** [2,3,6,7,1,5,4]

**Constraints:**

`n ==`

number of nodes in the linked list`0 <= n <= 104`

`-106 <= Node.val <= 106`

Accepted

485,743

Submissions

821,448

Solution:

The idea of this solution is to

make use of 2 pointers to sort out both odd and even list nodes, and updating it then connecting with the head of even list node.

Time Complexity: **O(n)**

Space Complexity: **O(1)**