回头来看,发现利用哈希表解法的官方解答真的有点麻烦,主要是没有必要遍历哈希表。这里有个简化版本的方法,同样适用哈希表,首先遍历链表,每遍历到一个结点就新建结点,并保存结点对到哈希表。然后,再次遍历链表,每次用原结点到哈希表找复制后的结点,然后map.get(cur).next = map.get(cur.next);map.get(cur).random = map.get(cur.random);直接一次建立好复杂链表。这里相比于原来的遍历哈希表,逻辑更清晰易懂,并且map的作用体现的淋漓尽致,就是保存结点对。
2

相关推荐

点赞 评论 收藏
分享
昨天 22:49
门头沟学院 Java
投递招银云创等公司6个岗位
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务