Concept Flow - Remove Nth Node from End of List
Create dummy node pointing to head
Set two pointers: first and second at dummy
Move first pointer n+1 steps ahead
Move first and second pointers together until first reaches end
Second pointer now before target node
Change second.next to skip target node
Return dummy.next as new head
We use two pointers spaced n+1 apart to find the node before the one to remove, then skip it.
