Skip to main content

1328. Break a Palindrome

https://leetcode.com/problems/break-a-palindrome/

Python

Greedy

class Solution:
def breakPalindrome(self, palindrome: str) -> str:
# Case: Not possible to become non-palindromic
if len(palindrome) == 1:
return ""

# Case: Replace the first not 'a' character
for i in range(len(palindrome)>>1):
if palindrome[i] != 'a':
return palindrome[:i] + 'a' + palindrome[i+1:]

# Case: all characters are 'a'
return palindrome[:-1] + 'b'