public List<String> binaryTreePaths(TreeNode root) {
        List<String> list = new ArrayList<String>();

        if (root == null) {
         return list;    
        }

        List<String> left = binaryTreePaths(root.left);
        List<String> right = binaryTreePaths(root.right);

        for (String path : left) {
            list.add(root.val + "->" + path);
        }
        for (String path : right) {
            list.add(root.val + "->" + path);
        }
        if (list.size() == 0) {
            list.add("" + root.val);
        }
        return list;
    }

results matching ""

    No results matching ""