rewrite leetcode copy list with random pointer