有人可以向我解释这两个代码之间的区别吗?
def pal(s):
if s == "":
return True
if s[0] != s[-1]:
return False
return pal(s[1:-1])
a = "anna"
print(pal(a))
和
def pal(s):
if s == "":
return True
if s[0] != s[-1]:
return False
pal(s[1:-1])
a = "anna"
print(pal(a))
为什么解雇一个返回正确的值,即True
,而第二个返回我的值None
?
答案 0 :(得分:0)
第一个是使用以下行返回递归解的值:
返回pal(s [1:-1])
第二个只是返回一个void / None,而不是递归方法的解决方案。