Python程式:檢查字串的兩個部分是否為迴文
假設我們有兩個長度相同的字串 S 和 T,我們需要檢查是否可以找到一個公共分割點,使得 S 的前半部分和 T 的後半部分組合成一個迴文字串。
例如,如果輸入是 S = "cat" T = "pac",則輸出為 True,因為如果我們將字串分割成 "c" + "at" 和 "p" + "ac",則 "c" + "ac" 是一個迴文字串。
為了解決這個問題,我們將遵循以下步驟:
n := a 的長度
i := 0
當 i < n 且 a[i] 等於 b[n-i-1] 時,執行以下操作:
i := i + 1
如果 a[從索引 i 到 n-i-1] 是迴文或 b[從索引 i 到 n-i-1] 是迴文,則返回 true
讓我們來看下面的實現,以便更好地理解:
示例
class Solution: def solve(self, a, b): n = len(a) i = 0 while i < n and a[i] == b[-i-1]: i += 1 palindrome = lambda s: s == s[::-1] return palindrome(a[i:n-i]) or palindrome(b[i:n-i]) ob = Solution() S = "cat" T = "dac" print(ob.solve(S, T))
輸入
"cat","dac"
輸出
True
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP