请问下,这样算不算递归求回文

xiexiejohn 2017-11-07 10:51:49
#include <iostream>

using namespace std;
bool istrue(char[],int,int);
int main(void)
{
const int maxz=10;
char a[maxz]={'a',' ','b',' ',' ',' ','1','1','a',' '};
int i=0,j=maxz;
cout<<istrue(a,i,j-1)<<endl;


return 0;
}


bool istrue(char a[],int i,int j)
{

if(i>=j)
return true;
else //i<j
{

//从左到右查找字符或大小写字母
while(i<j &&
((a[i]<'1' || a[i]>'9') && (a[i]<'A' || a[i]>'Z') && (a[i]<'a' || a[i]>'z'))) //
{
i++;
}

//右到左查找字符或大小写字母
while(i<j &&
((a[j]<'1' || a[j]>'9') && (a[j]<'A' || a[j]>'Z') && (a[j]<'a' || a[j]>'z')))
{
j--;
}

bool c=istrue(a,i+1,j-1);
if(c==false) return false; //只要有一次比较不相同则全部返回false,不必再比较下去
return (a[i]==a[j]); //判断两数是否是相等
}
}
...全文
154 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
屈工智能科技 2017-11-10
  • 打赏
  • 举报
回复
递归就是自已调用自已
Dogfish 2017-11-09
  • 打赏
  • 举报
回复
这个是递归函数。
paschen 2017-11-09
  • 打赏
  • 举报
回复
istrue函数中又掉用了自身,是递归函数
赵4老师 2017-11-08
  • 打赏
  • 举报
回复
“给定一个小点的输入,完整单步跟踪(同时按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史)一遍。”是理解递归函数工作原理的不二法门! 递归函数关注以下几个因素 ·退出条件 ·参数有哪些 ·返回值是什么 ·局部变量有哪些 ·全局变量有哪些 ·何时输出 ·会不会导致堆栈溢出
自信男孩 2017-11-08
  • 打赏
  • 举报
回复
递归,即自己调用自己,并且最后能返回的。 楼主的程序是递归;
xiexiejohn 2017-11-08
  • 打赏
  • 举报
回复
只对数字和字母回文

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧