检查字符串的后缀和前缀是否是 Python 中的回文
假设我们有一个字符串s,我们必须检查字符串是否是回文作为它的前缀和后缀的子串。
因此,如果输入类似于s="levelishighforracecar",那么输出将为True,因为分别有回文前缀和后缀:"level"和"racecar"。
为了解决这个问题,我们将按照以下步骤操作-
l:=s的大小
对于2到l+2范围内的i,执行
如果从索引(l-i)到(l-1)的s子串是回文,则
返回真
返回错误
从循环中出来
如果s到索引i的子串是回文,则
如果i与(l+1)相同,则
对于2到l+2范围内的i,执行
返回错误
让我们看看以下实现以获得更好的理解-
示例代码
def is_palindrome(s): return s == s[::-1] def solve(s): l = len(s) for i in range(2, l + 1): if is_palindrome(s[0:i]): break if i == (l + 1): return False for i in range(2, l + 1): if is_palindrome(s[l - i : l]): return True return False s = "levelishighforracecar" print(solve(s))
输入
"levelishighforracecar"输出结果
True