Skip to content
Onsite

Reorder List

MediumP2Coding

Given the head of a singly linked list L0 -> L1 -> ... -> Ln-1 -> Ln, reorder it in place to L0 -> Ln -> L1 -> Ln-1 -> L2 -> Ln-2 -> ... and return the head. You may only change the next pointers, not the node values. A list node has val and next. The ListNode class is already defined for you.

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]

Example 3

Input
head = [1]
Output
[1]

Constraints

  • 0 <= number of nodes <= 5 * 10^4
  • 1 <= Node.val <= 1000

Hints

Run checks the 3 visible tests, Submit all 10.