Skip to main content

99999.js

var cloneGraph = (node) => {
if (node == null) return node;
const visited = new Array();

return cloneHelper(node, visited);
};

const cloneHelper = (node, visited) => {
const newNode = new Node(node.val);

visited[node.val] = newNode;

for (const neighbor of node.neighbors) {
if (!visited[neighbor.val]) {
const newNeighbor = cloneHelper(neighbor, visited);
newNode.neighbors.push(newNeighbor);
} else {
const newNeighbor = visited[neighbor.val];
newNode.neighbors.push(newNeighbor);
}
}
return newNode;
};