Remove Nth Node From End Visualization & Animation
Removes the Nth node from the end of a linked list in one pass using a gap-of-N two-pointer technique.
## What is it?
Remove the Nth node from the end of a singly linked list in a single pass. Uses a two-pointer technique with a gap of N nodes.
## How it works
- Use a dummy node before `head` to simplify edge cases
- Move `fast` pointer `N+1` steps ahead from the dummy
- Move both `slow` and `fast` one step at a time until `fast` reaches `null`
- `slow` now points to the node just before the target
- Remove: `slow.next = slow.next.next`
## When to use
- Any "kth from the end" problem on a linked list (find, remove, return)
- Single-pass solution when counting length first is not allowed
## Key Points
- O(n) time, O(1) space — single pass
- The dummy node handles the edge case where the head itself is removed
- Gap of N: when fast has no more moves, slow is N steps behind