-
发表于 2024.07.29
-
由于是回文串,所以只需要遍历前半部分即可。如果遇到非
a
的字符,将其替换为a
并返回即可。如果前半部分全是a
(意味着后半部分也全是a
,注意如果字符串长度为奇数的话,中间那个字符不一定为a
,但也不能修改,因为改了之后还是回文),则将最后一个字符替换为b
即可。# 0 1 <2> 3 4 # 0 1 2 <3> 4 5 # 0 1 2 <3> 4 5 6 class Solution: def breakPalindrome(self, palindrome: str) -> str: for i in range(len(palindrome) // 2): if palindrome[i] != 'a': return f"{palindrome[:i]}a{palindrome[i + 1:]}" return "" if len(palindrome) <= 1 else f"{palindrome[:-1]}b"
- LC 题目链接
-