C++ || EASY TO UNDERSTAND || Simple Solution Using BackTracking
\nclass Solution {\npublic:\n    int ans=0;\n    bool isPalin(string& s)\n    {\n        int i=0,j=s.length()-1;\n        while(i<=j)\n        {\n            if
```\nclass Solution {\npublic:\n    int ans=0;\n    bool isPalin(string& s)\n    {\n        int i=0,j=s.length()-1;\n        while(i<=j)\n        {\n            if(s[i]!=s[j])\n            return false;\n            i++;\n            j--;\n        }\n        return true;\n    }\n    void dfs(string& s,string& s1,string& s2,int i)\n    {\n        if(i>=s.length())\n        {\n            if(isPalin(s1)&&isPalin(s2))\n            {\n                ans=max(ans,((int)s1.length())*((int)s2.length()));\n            }\n            return;\n        }\n        s1+=s[i];\n        dfs(s,s1,s2,i+1);\n        s1.pop_back();\n        \n        s2+=s[i];\n        dfs(s,s1,s2,i+1);\n        s2.pop_back();\n        \n        dfs(s,s1,s2,i+1);\n    }\n    int maxProduct(string s) {\n        string s1="",s2="";\n        int i=0;\n        dfs(s,s1,s2,i);\n        return ans;\n    }\n};\n```\n**Please upvote to motivate me in my quest of documenting all leetcode solutions(to help the community). HAPPY CODING:)\nAny suggestions and improvements are always welcome**
[]