C++||Backtracking ||Hashing||Easy to Understand
```\nclass Solution {\npublic:\n    int ans=0;\n    bool isunique(string &s)\n    {\n        vector v(26,0);\n        for(int i=0;i& arr,int idx,string curr_s)\
```\nclass Solution {\npublic:\n    int ans=0;\n    bool isunique(string &s)\n    {\n        vector<int> v(26,0);\n        for(int i=0;i<s.size();i++)\n        {\n            if(v[s[i]-\'a\']==1)\n            {\n                return false;\n            }\n            v[s[i]-\'a\']++;\n        }\n        return true;\n    }\n    void backtrack(vector<string>& arr,int idx,string curr_s)\n    {\n\n        \n        if(!isunique(curr_s))\n            return;\n        int temp=curr_s.size();\n        ans=max(ans,temp);\n        if(idx>=arr.size())\n            return;\n            \n        \n        backtrack(arr,idx+1,curr_s+arr[idx]);\n        backtrack(arr,idx+1,curr_s);\n            \n    }\n    int maxLength(vector<string>& arr) \n    {\n        backtrack(arr,0,"");\n        return ans;\n        \n    }\n};\n// if you like the solution plz upvote.
['Backtracking', 'C']