python | 給定一個字符串 s,你可以通過在字符串前面添加字符將其轉換為回文串。找到並返回可以用這種方式轉換的最短回文串。


 

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM