🔄 Reverse Singly Linked List

Iterative Pointer Reversal • O(n) Time • O(1) Space

🎯 Reverse the Linked List In-Place

Hi! I'm Teju 👋 We need to reverse a singly linked list using iterative pointer reversal.

Rules:

• O(n) time
• O(1) extra space
• No new list creation
• Only change pointers!

Input: Roll numbers ending with -1

Output: Reversed Linked List: <values in reverse order>

🔧 Iterative Reversal Technique

We use three pointers:

prev: Points to previous node (initially null)
curr: Current node being processed
next: Temporarily stores next node

Steps:

  1. prev = null
  2. While curr != null:
  3.   → next = curr.next
  4.   → curr.next = prev
  5.   → prev = curr
  6.   → curr = next
  7. New head = prev

🎮 Interactive Demo

Enter the list and watch the reversal in action!

Empty List → null

✅ Final Reversed List