We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 571f4f2 commit bf9648aCopy full SHA for bf9648a
clone-graph/hsskey.js
@@ -0,0 +1,34 @@
1
+/**
2
+ * // Definition for a Node.
3
+ * function _Node(val, neighbors) {
4
+ * this.val = val === undefined ? 0 : val;
5
+ * this.neighbors = neighbors === undefined ? [] : neighbors;
6
+ * };
7
+ */
8
+
9
10
+ * @param {_Node} node
11
+ * @return {_Node}
12
13
+var cloneGraph = function(node) {
14
+ if (!node) return null;
15
16
+ const oldToNew = new Map();
17
18
+ const dfs = (node) => {
19
+ if (oldToNew.has(node)) {
20
+ return oldToNew.get(node);
21
+ }
22
23
+ const copy = new _Node(node.val);
24
+ oldToNew.set(node, copy);
25
26
+ for (let neighbor of node.neighbors) {
27
+ copy.neighbors.push(dfs(neighbor));
28
29
30
+ return copy;
31
+ };
32
33
+ return dfs(node);
34
+};
0 commit comments