** Notes:
这道题和 PathSum ii 比较类似,解法只需要改动一两行即可。
**Add to List
**Description**Hints**Submissions**Solutions
Total Accepted: 101944
Total Submissions: 276629
Difficulty: Easy
Contributor: LeetCode
Given a binary tree, return all root-to-leaf paths.
For example, given the following binary tree:
1 / \2 3 \ 5
All root-to-leaf paths are:
["1->2->5", "1->3"]
Credits:Special thanks to @jianchao.li.fighter for adding this problem and creating all test cases.
Hide Company Tags
Google Apple Facebook
Hide Tags
Tree Depth-first Search
Hide Similar Problems
(M) Path Sum II
public List<String> binaryTreePaths(TreeNode root) {
List<String> res = new ArrayList<>();
String cur = "";
dfs(root, res, cur);
return res;
}
private void dfs(TreeNode root, List<String> res, String cur) {
if (root == null) {
return ;
}
if (cur == "") {
cur = cur + String.valueOf(root.val);
} else {
cur = cur + "->" + String.valueOf(root.val);
}
if (root.left == null && root.right == null) {
res.add(cur);
}
dfs(root.left, res, cur);
dfs(root.right, res, cur);
cur = cur.substring(0, cur.length() -1);
}