Microsoft Interview Question

Copy a linked list with an additional pointer to any other node in the list (including itself and NULL)