https://leetcode.com/problems/break-a-palindrome/
你会得到一个字串palindrome
,该字串全是小写字母且是回文
请在替换一个英文字母的情况把回文破坏掉,回传字典顺序最小的那组答案
如果替换一个英文字母没办法破坏回文的话,就回传空字串
这题因为「替换掉一个英文字母」、「回传字典顺序最小的那组」的两个条件,让这题变得比较单纯了点
首先,他的限制已经有说明所有的输入都是回文,那就代表我们随便改一个字都能破坏回文,不过为了要符合题目的条件,我们要把任一个字母改成'a'
才能符合「回传字典顺序最小的那组」
那我们就检查前半部哪个的字母不是'a'
就好;如果前半部全都是'a'
,就把最後一个字改成'b'
class Solution:
def breakPalindrome(self, palindrome: str) -> str:
if len(palindrome) == 1: return ''
for i in range(len(palindrome) // 2):
if palindrome[i] != 'a':
return palindrome[:i] + 'a' + palindrome[i+1:]
return palindrome[:-1] + 'b'
>>: D23 - 如何用 Apps Script 自动化地创造与客制 Google Slides?(四)一次抓出所有简报中的「特定文字」与备注
前言 路由简单来说就是连接介面的桥梁,而这个桥梁就叫做Navigator,就是导航的意思,用於管理进...
早起运动Day7 - 关於改变的秘密 「他就是这样,很难改变。」 这两天在看《内在动机》《被...
什麽是 ADO.NET ADO.NET 是微软针对 .NET 平台所提供的负责资料存取的类别程序库,...
目录 游戏机制 FBX档汇入设定 建模放置、布置场景 侦测平面手动放置场景物件 游戏机制 侦测到平...
前言 今天聊「突破自我设限」,经过前面 20 几天,多数概念已经建构得差不多,是该来总览与整合。有时...