@@ -0,0 +1,852 @@
+/**%0A * Definition for a binary tree node.%0A * public class TreeNode %7B%0A *     int val;%0A *     TreeNode left;%0A *     TreeNode right;%0A *     TreeNode(int x) %7B val = x; %7D%0A * %7D%0A */%0Apublic class Solution %7B%0A    public List%3CString%3E binaryTreePaths(TreeNode root) %7B%0A        List%3CString%3E res = new ArrayList%3CString%3E();%0A        if (root == null) %7B%0A            return res;%0A        %7D%0A        %0A        List%3CString%3E res1 = binaryTreePaths(root.left);%0A        List%3CString%3E res2 = binaryTreePaths(root.right);%0A        String head = Integer.toString(root.val);%0A        for(String str : res1) %7B%0A            res.add(head + %22-%3E%22 + str);%0A        %7D%0A        %0A        for(String str : res2) %7B%0A            res.add(head + %22-%3E%22 + str);%0A        %7D%0A        %0A        if (res1.size() == 0 && res2.size() == 0) %7B%0A            res.add(head);%0A        %7D%0A        %0A        return res;%0A    %7D%0A%7D%0A

Create BinaryTreePaths_001.java