擅长:python、mysql、java
<pre><code>def first(word):
return word[0]
def last(word):
return word[-1]
def middle(word):
return word[1:-1]
def is_palindrome(word):
#base case
if len(word) <= 1:
return True
if first(word) != last(word):
return False
else:
return is_palindrome(middle(word))
print(is_palindrome("racecar"))
</code></pre>
<p>原因是,从函数返回的布尔值是回文的if条件。因此,当您递归地应用它时,您的基本情况将以真/假值退出。在else条件下进行递归调用时,需要返回该值。这就是递归树在整个树的深度中保持所需布尔值的方式。你知道吗</p>