使用递归的回文函数
Palindrome function using recursion
我看不出我在这里出了问题的地方,它适用于某些回文,但不适用于其他回文。
基本上程序接受一个单词,单词的长度,然后返回它是回文或不是回文,并且函数必须使用递归。
bool palindrome(char a[],int length){
int start = *a;
if (*a != a[length-1])
return false;
if (*a == a[length-1]||start<length)
return true;
else
return palindrome(a+1,length-1);
return false;
}
任何人都可以看到此功能的任何问题吗?
我的鸭子说你离得很近。 他说你需要忘记你想用start
做什么,并且每个递归都会减少 2 的长度,而不是 1(因为第一个字符与其匹配的最后一个字符配对)。 然后他给我看了这个:
bool palindrome(const char* a, int length) {
if(length < 2) return true;
if(a[0] != a[length-1]) return false;
return palindrome(a+1, length - 2);
}
相关文章:
- 正在为Xtensa simcall函数编写回调函数
- C++:正在检查LinkedList中的回文-递归方法-错误
- 如何在C++中使用非静态成员函数作为回调函数
- Usaco第1.6节主要回文
- 最大的回文产品 - 程序未运行,编写解决方案但无法理解问题
- 将 S1 转换为回文,并将 S2 作为其子字符串
- 回文过滤器,函数运行良好,但main()无法编译
- 寻找一种更有效的方法来使用 STL 函数检查字符串是否为回文
- 为什么我的回文函数总是返回假
- 采用向量参数的函数模板回文
- 验证字符串是否为回文的函数
- 使用递归的回文函数
- 制作回文函数
- 用于识别回文字符数组的递归函数
- 这个递归函数(回文)变成了一个无限循环
- 使用不同的函数(C++)测试一个数字是否是回文
- C++回文函数
- c++函数中的回文返回false
- 带链表的回文函数
- c++回文Bool函数(使用指针)