Mental Model
We want to remove a node counting from the end, so we use two pointers spaced apart to find it in one pass.
Analogy: Imagine two friends walking on a path where one starts ahead by n steps; when the front friend reaches the end, the other is right before the target to remove.
head -> 1 -> 2 -> 3 -> 4 -> 5 -> null
↑ ↑
slow fast (n steps ahead)