Python中的递归函数回文

8 python recursion palindrome

我需要帮助编写一个递归函数来检测字符串是否是回文.但我不能使用任何循环,它必须是递归的.任何人都可以帮我告诉我这是如何完成的.我需要为即将到来的中期学习这个.我正在使用Python.

Unk*_*own 52

def ispalindrome(word):
    if len(word) < 2: return True
    if word[0] != word[-1]: return False
    return ispalindrome(word[1:-1])
Run Code Online (Sandbox Code Playgroud)

这是最好的一个班轮

def ispalindrome(word):
    return word == word[::-1]
Run Code Online (Sandbox Code Playgroud)


GWL*_*osa 42

从一般算法的角度来看,递归函数有3种情况:

1)剩下0件.根据身份,物品是回文.

2)剩下1个项目.根据身份,物品是回文.

3)2件或更多件.删除第一个和最后一个项目 相比.如果它们是相同的,则在字符串的左边调用函数.如果第一个和最后一个不相同,则项目不是回文.

函数本身的实现留给读者一个练习:)