3
3
class Node {
4
4
public int val;
5
5
public List<Node> neighbors;
6
-
7
6
public Node() {
8
7
val = 0;
9
8
neighbors = new ArrayList<Node>();
10
9
}
11
-
12
10
public Node(int _val) {
13
11
val = _val;
14
12
neighbors = new ArrayList<Node>();
15
13
}
16
-
17
14
public Node(int _val, ArrayList<Node> _neighbors) {
18
15
val = _val;
19
16
neighbors = _neighbors;
@@ -22,24 +19,24 @@ public Node(int _val, ArrayList<Node> _neighbors) {
22
19
*/
23
20
24
21
class Solution {
25
- public Node cloneGraph (Node node ) {
26
- if (node == null ) {
27
- return null ;
28
- }
29
- Map <Node , Node > map = new HashMap <>();
30
- Queue <Node > queue = new LinkedList <>();
31
- queue .add (node );
32
- map .put (node , new Node (node .val ));
33
- while (!queue .isEmpty ()) {
34
- Node removed = queue .remove ();
35
- for (Node neighbor : removed .neighbors ) {
36
- if (!map .containsKey (neighbor )) {
37
- map .put (neighbor , new Node (neighbor .val ));
38
- queue .add (neighbor );
22
+ public Node cloneGraph (Node node ) {
23
+ if (node == null ) {
24
+ return null ;
25
+ }
26
+ Map <Node , Node > map = new HashMap ();
27
+ Queue <Node > queue = new LinkedList <>();
28
+ queue .add (node );
29
+ map .put (node , new Node (node .val ));
30
+ while (!queue .isEmpty ()) {
31
+ Node removed = queue .remove ();
32
+ for (Node neighbor : removed .neighbors ) {
33
+ if (!map .containsKey (neighbor )) {
34
+ map .put (neighbor , new Node (neighbor .val ));
35
+ queue .add (neighbor );
36
+ }
37
+ map .get (removed ).neighbors .add (map .get (neighbor ));
38
+ }
39
39
}
40
- map .get (removed ).neighbors .add (map .get (neighbor ));
41
- }
40
+ return map .get (node );
42
41
}
43
- return map .get (node );
44
- }
45
42
}
0 commit comments