Skip to content

Commit e347508

Browse files
committed
A more efficient version of the Java 606
1 parent f7edbb7 commit e347508

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

Diff for: my-submissions/m606 v2 String Builder.java

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/**
2+
* Definition for a binary tree node.
3+
* public class TreeNode {
4+
* int val;
5+
* TreeNode left;
6+
* TreeNode right;
7+
* TreeNode() {}
8+
* TreeNode(int val) { this.val = val; }
9+
* TreeNode(int val, TreeNode left, TreeNode right) {
10+
* this.val = val;
11+
* this.left = left;
12+
* this.right = right;
13+
* }
14+
* }
15+
*/
16+
class Solution {
17+
public String tree2str(TreeNode root) {
18+
return helper(root, new StringBuilder()).toString();
19+
}
20+
21+
public StringBuilder helper(TreeNode curr, StringBuilder sb) {
22+
sb.append(curr.val);
23+
24+
if (curr.left != null) {
25+
sb.append("(");
26+
helper(curr.left, sb);
27+
sb.append(")");
28+
} else if (curr.right != null) {
29+
sb.append("()");
30+
}
31+
if (curr.right != null) {
32+
sb.append("(");
33+
helper(curr.right, sb);
34+
sb.append(")");
35+
}
36+
return sb;
37+
}
38+
}

0 commit comments

Comments
 (0)