Easy Java Solution || 100% Faster
Looking for Contribution in Hacktoberfest\n## You are welcomed to contribute in my Repos:-\n# GITHUB LINK --> Yaduttam95\n# All PRs are getting accepted...\n\n#
# Looking for Contribution in Hacktoberfest\n## You are welcomed to contribute in my Repos:-\n# GITHUB LINK --> [Yaduttam95](https://github.com/Yaduttam95)\n# All PRs are getting accepted...\n\n# Please upvote if Helpful\n```\nclass Solution {\n    public int solve(String strs[], int no, int a[], int index, int c) {\n        if(index==c)\n            return 0;\n        int x=no & a[index];\n        if(x==0)        \n            return Math.max(strs[index].length()+solve(strs,no^a[index],a,index+1,c),solve(strs,no,a,index+1,c));\n        else\n            return solve(strs,no,a,index+1,c);\n    }\n    public int maxLength(List<String> arr) {\n        int a[]=new int[arr.size()];int c=0;String strs[]=new String[a.length];\n        for(String s:arr) {\n            int x=0,fl=0;\n            for(char ch:s.toCharArray()) \n            {\n                int z=x|(1<<(ch-96));\n                if(x==z)\n                {\n                    fl=1;break;                \n                }\n                x=z;\n            }\n            if(fl==0)\n            {\n                a[c]=x;\n                strs[c++]=s;\n            }\n        }\n        return solve(strs,0,a,0,c);\n    }\n}\n```\n\n![image](https://assets.leetcode.com/users/images/7a44dbe0-7232-440d-99cc-d17f06ddf9ec_1666495619.2304356.png)
[]