Python || Simple and fast || Beats 95.7%
\nclass Solution:\n    def breakPalindrome(self, palindrome: str) -> str:\n        if len(palindrome)==1:     # Only case where we cannot replace a character to
```\nclass Solution:\n    def breakPalindrome(self, palindrome: str) -> str:\n        if len(palindrome)==1:     # Only case where we cannot replace a character to make it "not a plaindrome"\n            return \'\'\n\n        palindrome = list(palindrome)\n        for i in range(len(palindrome)//2):      # We only have to check for half of the string because the rest will be exactly the same\n            if palindrome[i] != \'a\':         #  First character that is not \'a\' will be replace with \'a\' to give lexicographically smallest\n                palindrome[i] = \'a\'\n                return \'\'.join(palindrome)          # Here we can also use string slicing, but using a list then .join() is faster \n        else:\n\t\t\'\'\' Suppose we are not able to find a character that is not \'a\'  in the first half Ex: aaabaaa. Then simply change the last character with \'b\' \'\'\'\n            palindrome[-1]=\'b\'      \n                \n        return \'\'.join(palindrome)\n            \n```\n
['Python3']