给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串。找到并返回可以用这种方式转换的最短回文串。
示例 1:
输入: "aaceebb"
输出: "bbeacaacaebb"
1 1 class Solution(object): 2 2 def shortestPalindrome(self, s): 3 3 """ 4 4 :type s: str 5 5 :rtype: str 6 6 """ 7 7 # 把当前字符串参数进行反转 8 8 res = s[::-1] 9 9 # 对当前参数len进行循环 10 10 for i in range(len(s)): 11 11 # 判断当前 循环的数据 和 原始参数数据 进行比对 当相等时成立 结束当前循环 12 12 if(res[i:len(s)] == s[0:len(s)-i]): 13 13 break 14 14 # 拿返回转数据和原始参数相加即可 15 15 return res[0:i]+s 16 16 17 17 if __name__ == '__main__': 18 18 a =Solution() 19 19 aa= a.shortestPalindrome("aacaebb") 20 20 print(aa)
返回结果
1 "bbeacaacaebb"
示例 2:
输入:"abcd"
输出:"dcbabcd"
1 class Solution(object): 2 def shortestPalindrome(self, s): 3 """ 4 :type s: str 5 :rtype: str 6 """ 7 # 把当前字符串参数进行反转 8 res = s[::-1] 9 # 对当前参数len进行循环 10 for i in range(len(s)): 11 # 判断当前 循环的数据 和 原始参数数据 进行比对 当相等时成立 结束当前循环 12 if(res[i:len(s)] == s[0:len(s)-i]): 13 break 14 # 拿返回转数据和原始参数相加即可 15 return res[0:i]+s[1:] 16 17 if __name__ == '__main__': 18 a =Solution() 19 aa= a.shortestPalindrome("aacaebb") 20 print(aa)
返回结果
1 1 "bbeacacaebb"