Java Solution || Thinking Recursively ||  easy to understand
\nclass Solution {\n    public String digitSum(String s, int k) {\n        if (s.length() <= k) {\n            return s;\n        }\n        int i = 0;\n       
```\nclass Solution {\n    public String digitSum(String s, int k) {\n        if (s.length() <= k) {\n            return s;\n        }\n        int i = 0;\n        String help = "";\n        for (i = 0; i < s.length() - k; i += k) {\n            String str = s.substring(i, i+k);\n            int n = 0;\n            for (char c : str.toCharArray()) {\n                n += Character.getNumericValue(c);\n            }\n            help += n;\n        }\n        if (i != s.length()) {\n            String str = s.substring(i);\n            int n = 0;\n            for (char c : str.toCharArray()) {\n                n += Character.getNumericValue(c);\n            }\n            help += n;\n        }\n        return digitSum(help, k);\n    }\n}\n```
['Recursion', 'Java']