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 binaryTreePaths(TreeNode root) {
        List results = new ArrayList();
        StringBuffer result = new StringBuffer();
        dfs(root,result,results);
        return results;
    }
    
    private void dfs(TreeNode root, StringBuffer result, List 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);
    }
}

你可能感兴趣的:(257. Binary Tree Paths)