Skip to content
BASA DSA

Reorder List

MediumLinked List

Rewire an acyclic list in place from L0,L1,...,Ln to L0,Ln,L1,Ln-1,... . Return nothing; the judge inspects the original head after mutation.

Example 1

Argument 1: next pointers; tail points to null.Argument 1: next pointers; tail points to null. Vertices: node 0: 1, node 1: 2, node 2: 3, node 3: 4, node 4: 5. Edges: node 0 (1) → node 1 (2); node 1 (2) → node 2 (3); node 2 (3) → node 3 (4); node 3 (4) → node 4 (5).12345
Argument 1: next pointers; tail points to null.

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

Explanation

Alternate front and back: 1,5,2,4, then middle node 3.

Example 2

Argument 1: next pointers; tail points to null.Argument 1: next pointers; tail points to null. Vertices: node 0: 1, node 1: 2, node 2: 3, node 3: 4. Edges: node 0 (1) → node 1 (2); node 1 (2) → node 2 (3); node 2 (3) → node 3 (4).1234
Argument 1: next pointers; tail points to null.

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

Explanation

Even length alternates 1,4,2,3 with no separate middle node.

Example 3

Argument 1: next pointers; tail points to null.Argument 1: next pointers; tail points to null. Vertices: node 0: 7. Edges: none.7
Argument 1: next pointers; tail points to null.

Input
head = [7]
Output
[7]

Explanation

The single node needs no rewiring.

Constraints

  • 1 <= number of nodes <= 50000
  • Do not alter node values

Function contractreorderListArguments: list
Loading draft…
SolutionRuns on your device
Loading draft…