Cloning A Graph: Efficient DFS Approach For LeetCode
Clone a graph by recursively creating deep copies of nodes and their neighbors using DFS, handling visited nodes to avoid infinite loops.
/** * // Definition for a Node. * function Node(val, neighbors) { * this.val = val === undefined ? 0 : val; * this.neighbors = neighbors === undefined ? [] : neighbors; * }; */ /** * @param {Node} node * @return {Node} */ var cloneGraph = function(node) { if (!node) return null; let visited = new Map(); const dfs = (original) =>{ if (!original) return null; if(visited.has(original.val)){ return visited.get(original.val) }else{ const copy = new Node(original.val,[]); visited.set(copy.val, copy); original?.n...