(node, seen, queue)
| 62 | }; |
| 63 | |
| 64 | const cloneNeighbors = (node, seen, queue) => { |
| 65 | for (const neighbor of node.neighbors) { |
| 66 | if (!seen.has(neighbor)) { |
| 67 | seen.set(neighbor, new Node(neighbor.val)); /* Space O(N) */ |
| 68 | queue.enqueue(neighbor); /* Space O(W) */ |
| 69 | } |
| 70 | |
| 71 | const [parentClone, neighborClone] = [ |
| 72 | seen.get(node), |
| 73 | seen.get(neighbor), |
| 74 | ]; |
| 75 | |
| 76 | parentClone.neighbors.push(neighborClone); /* Space O(V + E) */ |
| 77 | } |
| 78 | }; |