C++ | Recursion
\nclass Solution {\npublic:\n    \n    int maxUniqueChar(string s) {  // CHECKER FUNCTION\n        int count[26] = {0};\n        for(int i = 0; i < s.size(); i+
```\nclass Solution {\npublic:\n    \n    int maxUniqueChar(string s) {  // CHECKER FUNCTION\n        int count[26] = {0};\n        for(int i = 0; i < s.size(); i++)\n            if(count[s[i] - \'a\']++ > 0) return 0;\n        return s.size();\n    }\n    \n    void solve(vector<string> &arr, int index, string curr, int &ans) {\n        if(index == arr.size()) {            // BASE CONDITION\n            if(maxUniqueChar(curr) > ans) {\n            ans = curr.size();\n            }\n            return;\n        }\n        solve(arr, index+1, curr, ans); \n        solve(arr, index+1, curr+arr[index], ans);\n    }\n    \n    int maxLength(vector<string> &arr) {\n        int ans = 0;\n        solve(arr, 0, "", ans);\n        return ans;\n    }\n};\n```
['Depth-First Search', 'Recursion', 'C', 'C++']