Java Solution
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```\nclass Solution {\n    public List<String> ambiguousCoordinates(String s) {\n        List<String> result = new ArrayList<>();\n        s = s.substring(1, s.length() - 1);\n        for(int i = 1; i < s.length(); i++){\n            helper(result, s.substring(0, i), s.substring(i));\n        }\n        return result;\n    }\n    private void helper(List<String> result, String x, String y){\n        List<String> coordinatex = breakstring(x);\n        List<String> coordinatey = breakstring(y);\n        for(String dx : coordinatex){\n            if(valid(dx)){\n                for(String dy : coordinatey){\n                    if(valid(dy)){\n                        result.add("(" + dx + ", " + dy + ")");\n                    }\n                }\n            }\n        }\n    }\n    private List<String> breakstring(String x){\n        List<String> list = new ArrayList<>();\n        list.add(x);\n        for(int i = 1; i < x.length(); i++){\n            list.add(x.substring(0, i) + "." + x.substring(i));\n        }\n        return list;\n    }\n    private boolean valid(String s){\n        if(s.contains(".")){\n            String[] substring = s.split("\\\\.");\n            if(!substring[0].equals("0") && substring[0].startsWith("0")){\n                return false;\n            }\n            else{\n                return !substring[1].endsWith("0");\n            }\n        }\n        else{\n            if(s.equals("0")){\n                return true;\n            }\n            else{\n                return !s.startsWith("0");\n            }\n        }\n    }\n}\n```
['Java']