Java Simple and easy to understand solution, 8 ms, faster than 79.79%, clean code with comments
PLEASE UPVOTE IF YOU LIKE THIS SOLUTION\n\n\n\nclass Solution {\n    public List<String> ambiguousCoordinates(String s) {\n        \n        String digits = s.s
**PLEASE UPVOTE IF YOU LIKE THIS SOLUTION**\n\n\n```\nclass Solution {\n    public List<String> ambiguousCoordinates(String s) {\n        \n        String digits = s.substring(1, s.length() - 1);\n        \n        List<String> result = new ArrayList();\n        if(digits.length() < 2) return result;\n        \n        \n        for(int i = 1; i < digits.length(); i++){\n            //split the digits in 2 parts\n            String left = digits.substring(0, i);\n            String right = digits.substring(i);\n            \n            //check any of part contains only zeroes \n            if((left.length() > 1 && Long.valueOf(left) == 0) || (right.length() > 1 && Long.valueOf(right) == 0)) continue;\n            \n            \n            List<String> leftCoordinates = getValidCoordinates(left);\n            if(leftCoordinates.size() == 0) continue;\n            \n            List<String> rightCoordinates = getValidCoordinates(right);\n            if(rightCoordinates.size() == 0) continue;\n            \n            \n            for(String leftCor : leftCoordinates){\n                for(String rightCor : rightCoordinates){\n                    //concatenate right and left coordinate\n                    StringBuilder sb = new StringBuilder();\n                        sb\n                        .append(\'(\')\n                        .append(leftCor)\n                        .append(", ")\n                        .append(rightCor)\n                        .append(\')\');\n                    //String coordinate = "(" + leftCor + ", " + rightCor + ")";\n                    //result.add(coordinate);\n                    \n                    result.add(sb.toString());\n                }\n            }\n            \n        }\n        \n        \n        \n        return result;\n    }\n    \n    private List<String> getValidCoordinates(String str){\n        \n        List<String> result = new ArrayList();\n        \n        int n = str.length();\n        \n        if(n == 1) {\n            result.add(str);\n            return result;\n        }\n        \n        if(str.charAt(0) == \'0\'){\n            if(str.charAt(n - 1) == \'0\'){\n                return result;\n            }\n            \n            String coordinate = "0." + str.substring(1); \n            result.add(coordinate);\n            return result;\n        }\n        \n        if(str.charAt(n - 1) == \'0\'){\n            result.add(str);\n            return result;\n        }\n        \n        \n        for(int i = 1; i < n; i++){\n            String coordinate = str.substring(0, i) + "." + str.substring(i); \n            result.add(coordinate);\n        }\n        result.add(str);\n        \n        return result;\n    }\n}\n```
['Java']