Skip to content

Commit bd4afe0

Browse files
committed
add solution for clone-graph
1 parent 345c2d0 commit bd4afe0

1 file changed

Lines changed: 48 additions & 0 deletions

File tree

clone-graph/Hyeri1ee.java

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
import java.util.*;
2+
/*
3+
class Node {
4+
public int val;
5+
public List<Node> neighbors;
6+
public Node() {
7+
val = 0;
8+
neighbors = new ArrayList<Node>();
9+
}
10+
public Node(int _val) {
11+
val = _val;
12+
neighbors = new ArrayList<Node>();
13+
}
14+
public Node(int _val, ArrayList<Node> _neighbors) {
15+
val = _val;
16+
neighbors = _neighbors;
17+
}
18+
}
19+
*/
20+
21+
22+
class Solution {
23+
24+
25+
//기존 node, 복사한 node
26+
Map<Node, Node> visited = new HashMap<>();
27+
public Node cloneGraph(Node node) {
28+
if (node==null) return null;
29+
30+
if (visited.containsKey(node)){
31+
return visited.get(node);
32+
}
33+
34+
//없는 경우
35+
Node newClone= new Node(node.val);
36+
visited.put(node, newClone);
37+
38+
//이웃 복사
39+
for(Node target : node.neighbors){
40+
newClone.neighbors.add(cloneGraph(target));
41+
}
42+
43+
return newClone;
44+
45+
}
46+
}
47+
48+

0 commit comments

Comments
 (0)