在Python中检查字符串的两个部分是否回文的程序
假设我们有两个长度相同的弦S和T,则必须检查是否可以在同一点切割两个弦,以使S的第一部分和T的第二部分形成回文。
因此,如果输入像S=“cat”T=“pac”,则输出将为True,就像如果我们将字符串切成“c”+“at”和“d”+“ac”,那么“c“+”ac“是回文。
为了解决这个问题,我们将遵循以下步骤-
n:=一个的大小
i:=0
当i<n且a[i]与b[ni-1]相同时,
我:=我+1
当a[从索引i到ni-1]为回文或b[从索引i到ni-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