1
1
package com_github_leetcode .random ;
2
2
3
- import java .util .StringJoiner ;
4
-
5
3
@ SuppressWarnings ("java:S1104" )
6
4
public class Node {
7
5
public int val ;
@@ -12,34 +10,40 @@ public Node(int val) {
12
10
this .val = val ;
13
11
}
14
12
13
+ @ Override
15
14
public String toString () {
16
- StringJoiner result = new StringJoiner ("," , "[" , "]" );
17
- StringJoiner result2 = new StringJoiner ("," , "[" , "]" );
18
- result2 .add (String .valueOf (val ));
19
- if (random == null ) {
20
- result2 .add ("null" );
15
+ StringBuilder result = new StringBuilder ();
16
+ result .append ("[" );
17
+ result .append ("[" );
18
+ result .append (this .val );
19
+ result .append ("," );
20
+ if (this .random == null ) {
21
+ result .append ("null" );
21
22
} else {
22
- result2 . add ( String . valueOf ( random .val ) );
23
+ result . append ( this . random .val );
23
24
}
24
- result .add ( result2 . toString () );
25
- Node curr = next ;
25
+ result .append ( "]" );
26
+ Node curr = this . next ;
26
27
while (curr != null ) {
27
- StringJoiner result3 = new StringJoiner ("," , "[" , "]" );
28
- result3 .add (String .valueOf (curr .val ));
28
+ result .append ("," );
29
+ result .append ("[" );
30
+ result .append (curr .val );
31
+ result .append ("," );
29
32
if (curr .random == null ) {
30
- result3 . add ("null" );
33
+ result . append ("null" );
31
34
} else {
32
35
int randomIndex = 0 ;
33
- Node curr2 = this ;
34
- while (curr2 .next != null && curr2 != curr .random ) {
35
- randomIndex += 1 ;
36
- curr2 = curr2 .next ;
36
+ Node indexFinder = this ;
37
+ while (indexFinder .next != null && indexFinder != curr .random ) {
38
+ randomIndex ++ ;
39
+ indexFinder = indexFinder .next ;
37
40
}
38
- result3 . add ( String . valueOf ( randomIndex ) );
41
+ result . append ( randomIndex );
39
42
}
40
- result .add ( result3 . toString () );
43
+ result .append ( "]" );
41
44
curr = curr .next ;
42
45
}
46
+ result .append ("]" );
43
47
return result .toString ();
44
48
}
45
49
}
0 commit comments