关闭

Palindrome using recursion

214人阅读 评论(0) 收藏 举报
分类:
<p style="margin-top: 0px; margin-bottom: 0px;"><pre name="code" class="python">#quote from MIT 'introduction to computation and programming using python, Revised' 
def isPalindrome(s):
    """Assumes s is a str
       Returns True if the letters in s form a palindrome;
         False otherwise. Non-letters and capitalization are ignored."""
    def toChars(s):
        s = s.lower()
        letters = ''
        for c in s:
            if c in 'abcdefghijklmnopqrstuvwxyz':
                letters += c
        return letters
        
    def isPal(s):
        if len(s) <= 1:
            return True
        else:
            return s[0] == s[-1] and isPalindrome(s[1:-1])
            
    return isPal(toChars(s))



isPalindrome('xyyx')
Out[14]: True


isPalindrome('hello')
Out[15]: False

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:85196次
    • 积分:2850
    • 等级:
    • 排名:第12582名
    • 原创:165篇
    • 转载:108篇
    • 译文:30篇
    • 评论:1条
    文章分类
    最新评论