ReviseAlgo Logo
EasyVery High Frequency20 min

Reverse Linked List

Iterative and recursive reversal patterns — the most fundamental linked list operation.

Reverse a linked list in O(n) O(1) using three pointers. Reversing a sublist [m..n] requires finding and reconnecting boundary nodes.

Reverse a Linked List

Three-Pointer Reversal

Linked List1 / 13
curr
1
->
2
->
3
->
4
null

Initial: prev=null, curr=head

The list is still 1 -> 2 -> 3 -> 4 -> null. curr starts at node 1 and prev is null.

Code

Iterative Reverse

O(n)O(1) space — preferred over recursive approach
Step-by-step1 / 11
curr
1
next
node 0
node
2
next
node 1
node
3
next
node 2
node
4
next
node 3
node
5
null
node 4

Initialize prev=null, curr=1

Original links: 1 -> 2 -> 3 -> 4 -> 5 -> null.