add new solutions

This commit is contained in:
kanna5 2026-01-05 16:48:03 +09:00
parent d798d5e8c9
commit 886b5e0a8e
Signed by: kkyy
GPG key ID: 06332F3965E9B0CF
34 changed files with 1164 additions and 0 deletions

View file

@ -0,0 +1,34 @@
package q138
type Node struct {
Val int
Next *Node
Random *Node
}
func copyRandomList(head *Node) *Node {
idx := make(map[*Node]*Node, 256)
p := head
for p != nil {
newNode := *p // copy
idx[p] = &newNode
p = p.Next
}
p = head
for p != nil {
newNode := idx[p]
if newNode.Next != nil {
newNode.Next = idx[newNode.Next]
}
if newNode.Random != nil {
newNode.Random = idx[newNode.Random]
}
p = p.Next
}
return idx[head]
}
var _ = copyRandomList