判断字符串是否是回文的代码实现
回文字符串的含义-简单的来说,是字符串以中心对称的字符是相同的。
基于递归方法的实现
int isstringPald(int low,int high,const char* str,int len)
{
if(len == 0 || len ==1)
{
cout<<"该字符串是回文字符串"<<endl;
return 1;
}
if(str[low]==str[high])
{
isstringPald( low + 1,high - 1,str,len - 2);
}
else
{
cout<<"该字符串不是回文字符串"<<endl;
return 0;
}
}
void main()
{
char str[] = {"ilovetanqndfgatevoli"};
int len = strlen(str);
isstringPald(0,len - 1,str, len);
}
一般方法
int isstringPald(int low,int high,const char* str,int len)
{
while(low < high)
{
if(str[low]==str[high])
{
low++;
high--;
}
else break;
}
if(low > high || low ==high)
{
cout<<"该字符串是回文字符串"<<endl;
return 0;
}
else
{
cout<<"该字符串不是回文字符串"<<endl;
return 0;
}
}
void main()
{
char str[] = {"ilovetanqnatevoli"};
int len = strlen(str);
isstringPald(0,len - 1,str, len);
}