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"]

答案

class Solution {
        
    public List<String> binaryTreePaths(TreeNode root) {
        List<String> list = new ArrayList<String>();
        if(root == null) return list;
        binaryTreePaths(root, list, "");
        return list;
    }
    public void binaryTreePaths(TreeNode root, List<String> list, String curr) {
        if(root.left == null && root.right == null) {
            curr = curr + Integer.toString(root.val);
            list.add(curr);
            return;
        }
        curr = curr + Integer.toString(root.val);
        if(root.left != null)
            binaryTreePaths(root.left, list, curr + "->");
        if(root.right != null)
            binaryTreePaths(root.right, list, curr + "->");

    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容