39. Reorder List

Reorder L0 → L1 → … → Ln into L0 → Ln → L1 → Ln−1 → L2 → … in place by changing links, not values.

Example 1

Input: head = [1,2,3,4]
Output: [1,4,2,3]

Example 2

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

Three classic steps: find the middle, reverse the second half, merge alternately.

Linked ListTwo Pointers