添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

给你一个回文字符串 palindrome ,请你将其中 一个 字符用任意小写英文字母替换,使得结果字符串的字典序最小,且 不是 回文串。

请你返回结果字符串。如果无法做到,则返回一个空串。

示例 1:

输入:palindrome = "abccba"
输出:"aaccba"

示例 2:

输入:palindrome = "a"
输出:""
  • 1 <= palindrome.length <= 1000
  • palindrome 只包含小写英文字母。

首先先明确如果只有一个字母,那么无解。

其次思考一下general的情况,对于输入比如 "abdba",我们应该把第一个比a大的字母变为a,这样可以使得到的新字符串最小而且不是回文字符串,

但同时又要考虑一些 edge case,

1. 如果全部是a怎么办?答:应该把最后一个字母变成b,

2. 如果第一个比a大的字母变成a之后,数组依然回文怎么办?比如输入:"aba", 按照上面的方法得到的答案"aaa"依然回文。

答:还是把最后一个字母变成b

时间复杂度:O(N)

空间复杂度:O(N)

class Solution(object):
    def breakPalindrome(self, palindrome):
        :type palindrome: str
        :rtype: str
        if len(palindrome) == 1:
            return ""
        if len(set(palindrome)) == 1:
            if palindrome[0] == "a":
                return palindrome[:-1] + "b"
        for ch in palindrome:
            if ord(ch) > ord("a"):
                res = palindrome.replace(ch, "a", 1)
                return res if res != res[::-1] else palindrome[:-1] + "b"
给你一个回文字符串palindrome,请你将其中一个字符用任意小写英文字母替换,使得结果字符串的字典序最小,且不是回文串。请你返回结果字符串。如果无法做到,则返回一个空串。示例 1:输入:palindrome = "abccba"输出:"aaccba"示例 2:输入:palindrome = "a"输出:""提示:1 &lt;= p...
题目描述: 给你一个小写英文字母组成回文字符串palindrome ,请你将其中一个 字符任意小写英文字母替换,使得结果字符串的 字典序最小 ,且不是回文串。 请你返回结果字符串。如果无法做到,则返回一个 空串 。 如果两个字符串长度相同,那么字符串 a 字典序比字符串 b 小可以这样定义:在 a 和 b 出现不同的第一个位置上,字符串 a 中的字符严格小于 b 中的对应字符。例如,"abcc” 字典序比 "abcd" 小,因为不同的第一个位置是在第四个字符,显然 'c' 比 'd' 小...
题目描述: 给你一个回文字符串 palindrome ,请你将其中 一个 字符任意小写英文字母替换,使得结果字符串的字典序最小,且 不是 回文串。 请你返回结果字符串。如果无法做到,则返回一个空串。 示例 1: 输入:palindrome = “abccba” 输出:“aaccba” 示例 2: 输入:palindrome = “a” 输出:"" 1 <= palindrome.l...
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Viec9roR-1598422477741)(LeetCode题解(1328)]:截图1.png) class Solution:
给出一个字符串,仅由小写字母组成。请找出是否仅删除其中的一个字母之后, 字符串变成回文串。返回值为删除的字符的索引。如果已经是回文字符串,返回-1   比如  输入 3  aaab baa aaa。 输出 3 0 -1. 思路:既然能通过增加一个字符变成回文串,那一定也可以通过删除一个字符变成回文串。用一个循环,每次循环依次删掉一个字符,然后检查新串是否是回文串,看起来简单方便许多。 代码如下...
res = temp else: temp = temp<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [5. 最长回文子串(Python 实现)](https://blog.csdn.net/d_l_w_d_l_w/article/details/118861851)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [LeetCodePython3)5.最长回文子串](https://blog.csdn.net/weixin_52593484/article/details/124718655)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [力扣 (LeetCode)刷题笔记5.最长回文子串 python](https://blog.csdn.net/qq_44672855/article/details/115339324)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ] 一定要坚持创作更多高质量博客哦, 小小红包, 以资鼓励, 更多创作活动请看: Microsoft Edge功能测评!: https://activity.csdn.net/creatActivity?id=10403?utm_source=csdn_ai_ada_redpacket 职场解惑讨论会: https://activity.csdn.net/creatActivity?id=10427?utm_source=csdn_ai_ada_redpacket 程序员有哪些绝对不能踩的坑?: https://activity.csdn.net/creatActivity?id=10433?utm_source=csdn_ai_ada_redpacket 全部创作活动: https://mp.csdn.net/mp_blog/manage/creative?utm_source=csdn_ai_ada_redpacket