回文检查的递归方法

neu*_*bit 3 c algorithm recursion palindrome

是否可以使用以下参数列表定义回文检查的递归方法?

int testPalindromeRecursive(char* str, int len) { ... }
Run Code Online (Sandbox Code Playgroud)

注意:不必使用外部子函数或全局变量

我认为这是不可能的,因为你必须以某种方式记住最后(前)索引位置.

kdo*_*pen 8

是的,这是完全可能的 - 正如几个人提到的那样.

基础案例:

  • 如果len <= 1,则返回True
  • 如果str [0]!= str [len-1]返回False

否则:用(str + 1,len -2)递归

  • 不仅仅是处理OP代码,而且不是为了不必要地修剪,复制,重新分配字符串. (2认同)