Skip to content

Commit e69c30e

Browse files
committed
Time: 1 ms (99.07%) | Memory: 42.1 MB (96.09%) - LeetSync
1 parent 961ae63 commit e69c30e

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

257-binary-tree-paths/binary-tree-paths.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,23 @@ class Solution {
1717
public List<String> binaryTreePaths(TreeNode root) {
1818

1919
List<String> list = new ArrayList<>();
20-
dfs(root , "" , list);
20+
StringBuilder sb = new StringBuilder();
21+
dfs(root , sb , list);
2122
return list;
2223
}
23-
void dfs(TreeNode node , String path , List<String> list){
24+
void dfs(TreeNode node , StringBuilder sb , List<String> list){
2425

2526
if(node==null)return;
27+
int len =sb.length();
2628

27-
path += node.val;
29+
sb.append(node.val);
2830

2931
if(node.left==null && node.right==null){
30-
list.add(path);
31-
}else{
32-
path +="->";
33-
dfs(node.left , path , list);
34-
dfs(node.right , path , list);
32+
list.add(sb.toString());
3533
}
34+
sb.append("->");
35+
dfs(node.left , sb , list);
36+
dfs(node.right , sb , list);
37+
sb.setLength(len);
3638
}
3739
}

0 commit comments

Comments
 (0)