Binary Tree Paths LeetCode solution in Java

1
class Solution {
2
public List<String> binaryTreePaths(TreeNode root) {
3
List<String> result = new ArrayList<>();
4
dfs(root, new StringBuilder(), result);
5
return result;
6
}
7

8
private void dfs(TreeNode node, StringBuilder path, List<String> result) {
9
if (node == null) return;
10
int len = path.length();
11
if (len > 0) {
12
path.append("->");
13
}
14
path.append(node.val);
15
if (node.left == null && node.right == null) {
16
result.add(path.toString());
17
} else {
18
dfs(node.left, path, result);
19
dfs(node.right, path, result);
20
}
21
path.setLength(len); // Backtrack by resetting the StringBuilder
22
}
23
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0