我试着写一个递归功能,说如果一个字符串是回文,但我得到的是一个无限循环,我不知道是什么问题回文的递归函数
def isPalindrome(S):
listush=list(S) #listush=['a', 'b', 'n', 'n', 'b', 'a']
length=len(listush) #length=6
if length==0 or length==1:
return S, "is a palindrome!"
elif listush[0]!=listush[-1]:
return S, "is not a palindrome!"
else:
del listush[0]
del listush[-1]
return isPalindrome(S)
print isPalindrome("abnnba")
'del listush [0]'和'listush [-1]'不会从'S'中删除字符,该列表与'S'无关。您将原始字符串传递给递归而不删除前后字符。 – dhke