Skip to content

Commit d2a5001

Browse files
authored
Improved Node.toString()
1 parent 04d45b6 commit d2a5001

File tree

2 files changed

+43
-27
lines changed

2 files changed

+43
-27
lines changed

src/main/java/com_github_leetcode/Node.java

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import java.util.ArrayList;
44
import java.util.List;
5-
import java.util.StringJoiner;
65

76
@SuppressWarnings("java:S1104")
87
public class Node {
@@ -24,19 +23,32 @@ public Node(int val, List<Node> neighbors) {
2423
this.neighbors = neighbors;
2524
}
2625

26+
@Override
2727
public String toString() {
28-
StringJoiner result = new StringJoiner(",", "[", "]");
29-
for (Node node : neighbors) {
28+
StringBuilder result = new StringBuilder();
29+
result.append("[");
30+
for (int i = 0; i < neighbors.size(); i++) {
31+
Node node = neighbors.get(i);
32+
if (i > 0) {
33+
result.append(",");
34+
}
3035
if (node.neighbors.isEmpty()) {
31-
result.add(String.valueOf(node.val));
36+
result.append(node.val);
3237
} else {
33-
StringJoiner result2 = new StringJoiner(",", "[", "]");
34-
for (Node nodeItem : node.neighbors) {
35-
result2.add(String.valueOf(nodeItem.val));
38+
StringBuilder result2 = new StringBuilder();
39+
result2.append("[");
40+
for (int j = 0; j < node.neighbors.size(); j++) {
41+
Node nodeItem = node.neighbors.get(j);
42+
if (j > 0) {
43+
result2.append(",");
44+
}
45+
result2.append(nodeItem.val);
3646
}
37-
result.add(result2.toString());
47+
result2.append("]");
48+
result.append(result2.toString());
3849
}
3950
}
51+
result.append("]");
4052
return result.toString();
4153
}
4254
}
Lines changed: 23 additions & 19 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
@SuppressWarnings("java:S1104")
64
public 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

Comments
 (0)