11package com_github_leetcode.random
22
3- import java.util.StringJoiner
4-
53class Node {
64 var `val `: Int
75 var next: Node ? = null
@@ -12,33 +10,38 @@ class Node {
1210 }
1311
1412 override fun toString (): String {
15- val result = StringJoiner (" ," , " [" , " ]" )
16- val result2 = StringJoiner (" ," , " [" , " ]" )
17- result2.add(`val `.toString())
13+ val result = StringBuilder ()
14+ result.append(" [" )
15+ result.append(" [" )
16+ result.append(`val `)
17+ result.append(" ," )
1818 if (random == null ) {
19- result2.add (" null" )
19+ result.append (" null" )
2020 } else {
21- result2.add (random!! .`val `.toString() )
21+ result.append (random!! .`val `)
2222 }
23- result.add(result2.toString() )
23+ result.append( " ] " )
2424 var curr = next
2525 while (curr != null ) {
26- val result3 = StringJoiner (" ," , " [" , " ]" )
27- result3.add(curr.`val `.toString())
26+ result.append(" ," )
27+ result.append(" [" )
28+ result.append(curr.`val `)
29+ result.append(" ," )
2830 if (curr.random == null ) {
29- result3.add (" null" )
31+ result.append (" null" )
3032 } else {
3133 var randomIndex = 0
32- var curr2 : Node ? = this
33- while (curr2 !! .next != null && curr2 != = curr.random) {
34- randomIndex + = 1
35- curr2 = curr2 .next
34+ var indexFinder : Node ? = this
35+ while (indexFinder !! .next != null && indexFinder != = curr.random) {
36+ randomIndex++
37+ indexFinder = indexFinder .next
3638 }
37- result3.add (randomIndex.toString() )
39+ result.append (randomIndex)
3840 }
39- result.add(result3.toString() )
41+ result.append( " ] " )
4042 curr = curr.next
4143 }
44+ result.append(" ]" )
4245 return result.toString()
4346 }
4447}
0 commit comments