LeetCode-214、最短回文串-困难
程序员文章站
2024-03-16 22:52:34
...
LeetCode-214、最短回文串-困难
给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串。找到并返回可以用这种方式转换的最短回文串。
示例 1:
输入: "aacecaaa"
输出: "aaacecaaa"
示例 2:
输入: "abcd"
输出: "dcbabcd"
代码:暴力法
class Solution:
def shortestPalindrome(self, s: str) -> str:
if len(s) <= 1:
return s
if s[::-1] == s:
return s
start = 0
end = 0
ind = 1
while ind < len(s):
piece = s[start:ind]
if piece[::-1] == piece:
end = ind
ind += 1
s1 = s[end:]
ss = s1[::-1] + s
return ss
递归法和KMP法参考:最短回文串
上一篇: JAVA实现16进制转10进制