–解决一个困难的时候把它分解成几个子问题
–子问题比初始问题要简单
–再结合子问题的解决方案处理初始问题
Example of “Palindrome”:
def isPalindrome(s):
# 检查字符串是否为回文(正反顺序都一样)
def allChars(s):
#去掉字符串中的标点及转为小写
s = s.lower()
res = ''
for i in s:
if c in 'abcdefghijklmnopqrstuvwxyz':
res += c
return res
def isPal(s):
if len(s) <= 1:
return True
else:
return s[0] == s[-1] and isPa(s[1:-1])
return isPal(allChars(s))