Deep Copy with Random Pointers
Time complexity: O(n).
Auxiliary space: O(n) for the mapping.
The map ensures every original node maps to exactly one copied node.
Random pointers may point forward, backward, or to the same node.
An O(1) auxiliary-space solution is possible by interleaving copied nodes with original nodes before separating the lists.