Skip to content

Commit 6e53759

Browse files
committed
Feat: 문제풀이 추가
1 parent 07e0929 commit 6e53759

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

clone-graph/hwanmini.js

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
// 노드 수 v, 간선 e
2+
// 시간복잡도 O(v+e)
3+
// 공간복잡도 O(v+e)
4+
5+
/**
6+
* // Definition for a _Node.
7+
* function _Node(val, neighbors) {
8+
* this.val = val === undefined ? 0 : val;
9+
* this.neighbors = neighbors === undefined ? [] : neighbors;
10+
* };
11+
*/
12+
13+
/**
14+
* @param {_Node} node
15+
* @return {_Node}
16+
*/
17+
var cloneGraph = function(node) {
18+
if (!node) return
19+
20+
const visited = new Map()
21+
visited.set(node, new _Node(node.val))
22+
23+
const que = [node]
24+
25+
while (que.length) {
26+
const curNode = que.shift()
27+
28+
for (neighbor of curNode.neighbors) {
29+
if (!visited.has(neighbor)) {
30+
visited.set(neighbor, new _Node(neighbor.val));
31+
que.push(neighbor)
32+
}
33+
34+
visited.get(curNode).neighbors.push(visited.get(neighbor))
35+
}
36+
}
37+
38+
return visited.get(node)
39+
};

0 commit comments

Comments
 (0)