题目257. Binary Tree Paths
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"]
1,深搜
public class Solution {
public List<String> binaryTreePaths(TreeNode root) {
List<String> results = new ArrayList<String>();
StringBuffer result = new StringBuffer();
dfs(root,result,results);
return results;
}
private void dfs(TreeNode root, StringBuffer result, List<String> results){
if(root == null){
return;
}
if(root.left == null && root.right == null){
result.append(root.val);
results.add(result.toString());
return;
}
result.append(root.val);
result.append("->");
StringBuffer tempResult = new StringBuffer(result);
dfs(root.left,result,results);
dfs(root.right,tempResult,results);
}
}