Deep copy with arbitrary pointer

Linked list deep copy