检查字符串的后缀和前缀是否是 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
以上是 检查字符串的后缀和前缀是否是 Python 中的回文 的全部内容, 来源链接: utcz.com/z/347614.html