deep copy a list with random pointer