请问下,这样算不算递归求回文
#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]); //判断两数是否是相等
}
}