Problem Statement
Given the head of a linked list, remove the nth node from the end of the list and return its head.
Approach
Use two pointers, fast and slow. Move fast n steps ahead. Then move both fast and slow until fast reaches the end. The slow pointer will be just before the node to delete. Update slow.next to skip the target node.
Time & Space Complexity
Time complexity is O(n). Space complexity is O(1).
