1328. 破坏回文串
难度中等15
给你一个回文字符串 palindrome
,请你将其中 一个 字符用任意小写英文字母替换,使得结果字符串的字典序最小,且 不是 回文串。
请你返回结果字符串。如果无法做到,则返回一个空串。
示例 1:
输入:palindrome = "abccba"
输出:"aaccba"
示例 2:
输入:palindrome = "a"
输出:""
提示:
1 <= palindrome.length <= 1000
palindrome
只包含小写英文字母。
通过次数3,488
提交次数7,956
题解
class Solution:
def breakPalindrome(self, palindrome: str) -> str:
if len(palindrome) == 1 or len(palindrome) == 0:
return ""
temp = list(palindrome)
count = 0
for i in range(len(temp)):
char = temp[i]
if temp[i] != 'a':
temp[i] = 'a'
# 替换字符后判断是不是回文串
if( temp != temp[::-1]):
return ''.join(temp)
else:
temp[i] = char
count+=1
# 如果字符串全部是a ,则直接替换最后一个字符
if( count == len(temp)):
temp[len(temp) -1] = 'b'
return "".join(temp)
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 mym_74@163.com