class Solution {
public List<String> binaryTreePaths(TreeNode root) {
var res=new ArrayList<String>();
dfs(root,"",res);
return res;
}
public void dfs(TreeNode root,String path,List<String> res){
if(root!=null){
var sb=new StringBuffer(path);
sb.append(Integer.toString(root.val));
if(root.left==null && root.right==null){
res.add(sb.toString());
}else{
sb.append("->");
dfs(root.left,sb.toString(),res);
dfs(root.right,sb.toString(),res);
}
}
}
}