 All Problems
Reorder List
medium
linked list
two pointers
stack
recursion
facebook
amazon

You are given the head of a singly linked-list:

L0 → L1 → … → Ln-1 → Ln

Reorder it to:

L0 → Ln → L1 → Ln-1 → L2 → Ln-2 → …

You may not modify the values in the list's nodes. Only nodes themselves may be changed.

Example 1:

Input:  1 2 3 4
Output: 1 4 2 3

Example 2:

Input:  1 2 3 4 5
Output: 1 5 2 4 3

Constraints:

  • The number of nodes in the list is in the range [1, 5 × 10⁴]
  • 1 ≤ Node.val ≤ 1000

Input format: A single line of space-separated integers representing the linked list.

Output format: A single line of space-separated integers representing the reordered list.

Run to check your code against the sample cases, or submit to run every case