23.24回文字符串递归解法表达式怎么理解
def is_palindrome(n, start, end):if start > end:
return 1 #这里返回 1 是什么意思
else:
return is_palindrome(n, start+1, end-1) if n == n else 0
string = input('请输入一串字符串:')
length = len(string)-1
if is_palindrome(string, 0, length):
print('"%s"是回文字符串!' % string)
else:
print('"%s"不是回文字符串!' % string)
就是return 1 那里没有搞懂;;。; start每次加一end每次减一
start大于end的情况要不就是’aba’这种start和end都指向b了
要不就是'abba'这种start跑到end后面去了
这时候还没返回0 就说明前面的字符串都相等啊 当然就返回1了
页:
[1]