Binary Tree Paths
Given a binary tree, return all root-to-leaf paths.
- Time: O(N)
- Space: O(1)
public List<String> binaryTreePaths(TreeNode root) {
List<String> ret = new ArrayList<>();
dfs(ret, "", root);
return ret;
}
private void dfs(List<String> ret, String path, TreeNode node) {
if (node == null) {
return;
}
path += node.val;
if (node.left == null && node.right == null) {
ret.add(path);
}
dfs(ret, path + "->", node.left);
dfs(ret, path + "->", node.right);
}