c - 回文校验的递归方法

标签 c algorithm recursion palindrome

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

int testPalindromeRecursive(char* str, int len) { ... }

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

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

最佳答案

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

基本案例:

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

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

关于c - 回文校验的递归方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30168953/

相关文章:

c - 使用 if 子句代替处理器 #ifdef

C中不区分大小写的排序

java - 处理一组被覆盖的方法取决于它是任意的还是交替的

检查数组/二维数组/结构数组/字符串数组是否被释放

c++ - 数组中最近点的索引,每个点包含3个元素

c++ - 找到精确或最接近的解决方案

javascript - 使用 for 循环时,Javascript 中的洪水填充算法不会填充整个网格

c - C 中没有第二次递归调用的合并排序

c++ - 如何在递归模板函数中首次调用时执行函数?

c - 使用 Linux AIO,能够执行 IO,但也会将垃圾写入文件