找建设网站公司,延安市违法建设举报网站,网站开发有哪些术语,建设工程月评打分网站LeetCode讲解篇之138. 随机链表的复制 文章目录 LeetCode讲解篇之138. 随机链表的复制题目描述题解思路题解代码 题目描述 题解思路
先遍历一遍链表#xff0c;用哈希表保存原始节点和克隆节点的映射关系#xff0c;先只克隆节点的Val#xff0c;然后再次遍历链表#xff…LeetCode讲解篇之138. 随机链表的复制 文章目录 LeetCode讲解篇之138. 随机链表的复制题目描述题解思路题解代码 题目描述 题解思路
先遍历一遍链表用哈希表保存原始节点和克隆节点的映射关系先只克隆节点的Val然后再次遍历链表根据哈希表通过原始节点的链接信息找到克隆节点然后链接克隆节点
题解代码
func copyRandomList(head *Node) *Node {record : make(map[*Node]*Node, 0)tmp : headfor tmp ! nil {record[tmp] Node{Val: tmp.Val,}tmp tmp.Next}tmp headfor tmp ! nil {record[tmp].Next record[tmp.Next]record[tmp].Random record[tmp.Random]tmp tmp.Next}return record[head]
}