51 / 75
M

Reorder List

#51
linked-listtwo-pointersrecursion

Find middle, reverse second half, then merge alternating nodes from both halves.

Example:

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

Common Mistakes:

  • Not breaking connection at middle (causes infinite loop)
  • Incorrect merging logic (losing nodes)
  • Forgetting to store temp pointers before rewiring
  • Not handling odd/even length lists correctly

Notes:

Three-step problem. Time O(n), Space O(1). Pattern: find middle, reverse, merge is common in linked list problems.

51/75
Reorder List