C++ || Very Easy Backtracking Sol || 4ms runtime
\n\nclass Solution {\npublic:\n    //Used to map characters\n    int m[26];\n    \n    //Storing ans globally\n    int ans=0;\n    \n    void fun(vector<string>
\n```\nclass Solution {\npublic:\n    //Used to map characters\n    int m[26];\n    \n    //Storing ans globally\n    int ans=0;\n    \n    void fun(vector<string>& v,int st,int n)\n    {\n        //Used to store temp ans upto index st in vector v.\n        int res=0;\n        for(int i=0;i<26;i++)\n        {\n            //If any character appears more than 1 time, just return and try next possibilities\n            if(m[i]>1)return;\n            if(m[i]==1)res++;\n        }\n        \n        //Updating ans\n        ans=max(ans,res);\n        for(int i=st;i<n;i++)\n        {\n            //Including string v[i] and then calling the function again with starting index as i+1.\n            for(char ch:v[i])m[ch-\'a\']++;\n            fun(v,i+1,n);\n            //After the function call excluding string v[i]\n            for(char ch:v[i])m[ch-\'a\']--;\n        }\n    }\n    \n    int maxLength(vector<string>& arr) {\n        memset(m,0,sizeof(m));\n        ans=0;\n        fun(arr,0,arr.size());\n        return ans;\n    }\n};\n```\n**Please Upvote if ypu like the Sol.**
[]