fjsboy 发表于 2022-10-26 22:55:12

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 那里没有搞懂;;。;

kishere 发表于 2022-10-27 09:49:07

start每次加一end每次减一
start大于end的情况要不就是’aba’这种start和end都指向b了
要不就是'abba'这种start跑到end后面去了
这时候还没返回0 就说明前面的字符串都相等啊 当然就返回1了
页: [1]
查看完整版本: 23.24回文字符串递归解法表达式怎么理解