11package com_github_leetcode .random ;
22
3- import java .util .StringJoiner ;
4-
53@ SuppressWarnings ("java:S1104" )
64public class Node {
75 public int val ;
@@ -12,34 +10,40 @@ public Node(int val) {
1210 this .val = val ;
1311 }
1412
13+ @ Override
1514 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" );
2122 } else {
22- result2 . add ( String . valueOf ( random .val ) );
23+ result . append ( this . random .val );
2324 }
24- result .add ( result2 . toString () );
25- Node curr = next ;
25+ result .append ( "]" );
26+ Node curr = this . next ;
2627 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 ("," );
2932 if (curr .random == null ) {
30- result3 . add ("null" );
33+ result . append ("null" );
3134 } else {
3235 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 ;
3740 }
38- result3 . add ( String . valueOf ( randomIndex ) );
41+ result . append ( randomIndex );
3942 }
40- result .add ( result3 . toString () );
43+ result .append ( "]" );
4144 curr = curr .next ;
4245 }
46+ result .append ("]" );
4347 return result .toString ();
4448 }
4549}
0 commit comments