Skip to content

Commit aaa6dbb

Browse files
committed
Improved Node.toString()
1 parent 206b5b8 commit aaa6dbb

File tree

1 file changed

+20
-17
lines changed
  • src/main/kotlin/com_github_leetcode/random

1 file changed

+20
-17
lines changed
Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package com_github_leetcode.random
22

3-
import java.util.StringJoiner
4-
53
class 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

Comments
 (0)