138.M 随机链表的复制
思路
Code
func copyRandomListV1(head *Node) *Node {
nodeMap := make(map[*Node]*Node)
p := head
for p != nil {
nodeMap[p] = &Node{Val: p.Val}
p = p.Next
}
p = head
for p != nil {
nodeMap[p].Next = nodeMap[p.Next]
nodeMap[p].Random = nodeMap[p.Random]
p = p.Next
}
return nodeMap[head]
}Last updated