Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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)

AltStyle によって変換されたページ (->オリジナル) /