File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 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+
You can’t perform that action at this time.
0 commit comments