1328. 破坏回文串

  1. 1328. 破坏回文串
  • 题解
  • 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