二叉树的所有路径

39 阅读1分钟
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);
            }

        }
    }
}