Linked List/Easy

Reverse Linked ListFREE TRACK

Time: O(N)Space: O(1)

Initialize Pointers prev=null, curr=head

Reversing a singly linked list in-place by flipping every next pointer. Set prev = null, curr = node 0 (1).

Linked List Pointers
curr
1
2
3
4
5
null
Live Variables & Invariants
prev:null
curr:Node(1)
next:null
Step 1 / 166%
Solution Code
1
function reverseList(head: ListNode | null): ListNode | null {
2
  let prev: ListNode | null = null, curr = head;
3
  while (curr !== null) {
4
    const next = curr.next;
5
    curr.next = prev;
6
    prev = curr;
7
    curr = next;
8
  }
9
  return prev;
10
}

Custom Test Case Runner

Input your custom values and visualize step-by-step trace

Quick Presets:

AI DSA Coach

Contextual Tutor for Reverse Linked List

Hello! I am your AI DSA Tutor for **Reverse Linked List** (Linked List). Ask me anything about this algorithm, time complexity, or request a step hint!