1
var cloneGraph = function (node) {2
if (!node) return node;8
//1. Create new Copy of each node and save in Map12
for (let i = 0; i < queue.length; i++) {15
let newN = new Node(n.val);21
let nei = n.neighbors;23
for (let j = 0; j < nei.length; j++) {24
if (map.has(nei[j])) continue;25
nextQueue.push(nei[j]);37
//2. Run BFS again and populate neighbors in new node created in step 1.38
while (queue.length) {41
for (let i = 0; i < queue.length; i++) {44
let nei = n.neighbors;45
let newn = map.get(n);47
for (let j = 0; j < nei.length; j++) {48
newn.neighbors.push(map.get(nei[j]));50
if (!seen.has(nei[j])) {51
nextQueue.push(nei[j]);