214. Shortest Palindrome
基础想法很简单,就是找到以s[0]为起点的最长Palindrome,不过会TLE。看了答案,如果用一些buildin函数就会AC,其实时间复杂度是一样的。
还有一种解法叫做 KMP,实在是看不下去,我觉得也没啥意义,就pass吧。
class Solution(object):
def shortestPalindrome(self, s):
"""
:type s: str
:rtype: str
"""
if not s:
return ""
z = s[::-1]
for i in range(len(z)):
if s.startswith(z[i:]):
return z[:i] + s