Palindrome using recursion

转载 2015年07月08日 08:03:39
<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

相关文章推荐

基于Problem Solving with Algorithms and Data Structures using Python的学习记录(4)——Recursion

4.1.目标本章的目标如下: 要理解可能难以解决的复杂问题有一个简单的递归解决方案。 学习如何递归地写出程序。 理解和应用递归的三个定律。 将递归理解为一种迭代形式。 实现问题的递归公式化。 了解计算...

北大POJ1159-Palindrome

  • 2012年05月11日 02:25
  • 1024B
  • 下载

递归(recursion)

在说递归之前,我给大家说一个小故事,故事就是在说递归之前,我给大家说一个小故事,故事就是在说递归之前,我给大家说一个小故事,故事就是在说递归之前,我给大家说一个小故事,故事就是在说递归之前我给大家说一...

JAVA程序 Palindrome(回文?)

  • 2013年06月09日 12:14
  • 3KB
  • 下载

POJ1159-Palindrome

  • 2011年07月31日 22:53
  • 39KB
  • 下载

RuntimeError: maximum recursion depth exceeded 递归深度报错

我想把Python中的递归作为一个专题讨论一下。我在学习的时候,尝试使用“Python递归”作为关键词,在Google和百度中搜索,发现结果大部分是对某个具体例子的递归应用讨论,而对我这样的小白来说,...

SPIM 计算字符串是否为palindrome

  • 2013年11月26日 10:45
  • 4KB
  • 下载

palindrome

  • 2008年06月20日 11:14
  • 858KB
  • 下载

HANOI TOWER recursion implementation & parse - 汉诺塔

#include #include /* Name:HANOI TOWER Copyright: Author:yilonglucky Date: 01-08-1...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Palindrome using recursion
举报原因:
原因补充:

(最多只允许输入30个字)