[C++] Greedy
1) First I try to insert a character as small as possible to make it non - palindrome. For that I greedily start from first index and the smallest possible char
1) First I try to insert a character as small as possible to make it non - palindrome. For that I greedily start from first index and the smallest possible character till the current character.\n\n2) If this is a non-palindrome now, I just return it.\n\n3) Even after trying this, if it is not a non - palindrome, I try to insert a character greater than the current character. Now, since it would become a larger string, I start from the last index.\n\n4) Even after all this, it is not possible to make it a non-palindrome, return ""\n\n```\nclass Solution {\npublic:\n    string breakPalindrome(string s) {\n        int n = s.size(); \n        for(int i = 0; i < s.size(); i++) {\n            char temp = s[i];\n            for(char c = \'a\'; c < temp; c++) {\n                s[i] = c;\n                if(s[i] != s[n - 1 - i]) {\n                    return s;\n                }\n            }\n            s[i] = temp;\n        }\n        for(int i = s.size() - 1; i >= 0; i--) {\n            char temp = s[i];\n            for(char c = temp; c <= \'z\'; c++) {\n                s[i] = c;\n                if(s[i] != s[n - 1 - i]) {\n                    return s;\n                }\n            }\n            s[i] = temp;\n        }\n        return "";\n    }\n};\n```
[]