我正在尝试根据文档字符串制作稍高级的回文。但是我无法让它发挥作用。我是以正确的方式去做的吗?这就是我到目前为止所做的:
def pal_length(s: str, n: int) -> bool:
'''Return True iff s has a palindrome of length exactly n.
>>> pal_length('abclevel', 5)
True
>>> pal_length('level', 2)
False
'''
if not s:
return True
else:
index = 0
while index < len(s):
if s[index] == s[index+n]:
return pal_length(s[index+1:index+n-1],n-1)
index += 1
return False
我正在尝试不使用任何导入模块等。只是直接递归。
感谢任何帮助。感谢。
答案 0 :(得分:2)
我认为你的索引有点过时了。不应该是
index = 0
while index < len(s) - n + 1:
if s[index] == s[index+n-1]:
return pal_length(s[index+1:index+n-1], n-2)
index += 1
return False