給定一個字符串 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"
