剑指 Offer 35. 复杂链表的复制
和力扣138. 复制带随机指针的链表一样
//时间On,空间O1
func copyRandomList(head *Node) *Node {
m := make(map[*Node]*Node)
cur := head
for (cur != nil) {
temp := &Node{cur.Val, nil, nil}
m[cur] = temp
cur = cur.Next
}
cur = head
for (cur != nil) {
m[cur].Next = m[cur.Next]
m[cur].Random = m[cur.Random]
cur = cur.Next
}
return m[head]
}