257. Binary Tree Paths

题目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);
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容