copy list with random pointer

method:
  1) hash
  2) fantastic solution