Concept Flow - Remove Nth Node from End of List
Start with head node
Set two pointers: fast and slow at head
Move fast pointer n steps ahead
Move both fast and slow pointers one step until fast.next reaches end
Slow pointer now at node before target
Change slow.next to skip target node
Return head of modified list
We use two pointers to find the node before the one to remove, then skip it.
