递归实现回文字符串判断
2013-06-05 21:36
357 查看
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
bool find(const char *str, int n)
{
if(n<=1) return true;
else if(str[0]==str[n-1]) return find(str+1, n-2);//去掉首尾两个,所以n-2
else return false;
}
int main()
{
string str[4]= {"abcdeadcba","aba","uestc","aaabbbcccbbbaaa"};
for(int i=0;i<4;i++)
{
cout<<str[i]<<endl;
if(find(str[i].c_str(), str[i].length()))
cout<<"Yes\n";
else
cout<< "No\n";
}
}
/*******************************
运行结果如下:
abcdeadcba
No
aba
Yes
uestc
No
aaabbbcccbbbaaa
Yes
Process returned 0 (0x0) execution time : 0.016 s
Press any key to continue.
********************************/
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
bool find(const char *str, int n)
{
if(n<=1) return true;
else if(str[0]==str[n-1]) return find(str+1, n-2);//去掉首尾两个,所以n-2
else return false;
}
int main()
{
string str[4]= {"abcdeadcba","aba","uestc","aaabbbcccbbbaaa"};
for(int i=0;i<4;i++)
{
cout<<str[i]<<endl;
if(find(str[i].c_str(), str[i].length()))
cout<<"Yes\n";
else
cout<< "No\n";
}
}
/*******************************
运行结果如下:
abcdeadcba
No
aba
Yes
uestc
No
aaabbbcccbbbaaa
Yes
Process returned 0 (0x0) execution time : 0.016 s
Press any key to continue.
********************************/
#include<iostream>
#include<cstring>
using namespace std;
bool find(const char *str, int n)
{
if(n<=1) return true;
else if(str[0]==str[n-1]) return find(str+1, n-2);//去掉首尾两个,所以n-2
else return false;
}
int main()
{
string str[4]= {"abcdeadcba","aba","uestc","aaabbbcccbbbaaa"};
for(int i=0;i<4;i++)
{
cout<<str[i]<<endl;
if(find(str[i].c_str(), str[i].length()))
cout<<"Yes\n";
else
cout<< "No\n";
}
}
/*******************************
运行结果如下:
abcdeadcba
No
aba
Yes
uestc
No
aaabbbcccbbbaaa
Yes
Process returned 0 (0x0) execution time : 0.016 s
Press any key to continue.
********************************/
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
bool find(const char *str, int n)
{
if(n<=1) return true;
else if(str[0]==str[n-1]) return find(str+1, n-2);//去掉首尾两个,所以n-2
else return false;
}
int main()
{
string str[4]= {"abcdeadcba","aba","uestc","aaabbbcccbbbaaa"};
for(int i=0;i<4;i++)
{
cout<<str[i]<<endl;
if(find(str[i].c_str(), str[i].length()))
cout<<"Yes\n";
else
cout<< "No\n";
}
}
/*******************************
运行结果如下:
abcdeadcba
No
aba
Yes
uestc
No
aaabbbcccbbbaaa
Yes
Process returned 0 (0x0) execution time : 0.016 s
Press any key to continue.
********************************/
相关文章推荐
- Python用递归实现回文字符串的判断
- 用递归实现判断一个字符串是否是回文的方法
- 回文字符串判断---递归实现
- 用递归实现判断一个字符串是否是回文的方法
- java判断回文字符串几种简单的实现
- c++实现字符串回文判断
- 漫谈递归:字符串回文现象的递归判断
- 用递归实现回文判断
- 简单递归____判断一个字符串是否为回文
- 判断字符串是否是回文的代码实现
- 不用下标操作实现字符串回文判断
- 判断一个字符串是否为回文(递归)
- 递归实现10进制转8进制,字符串数字互转,判断数组正逆向
- 递归实现10进制转8进制,字符串数字互转,判断数组正逆向
- 用c语言实现 判断一个字符串是不是回文字符串
- 递归实现回文判断(如:abcdedbca就是回文)
- 递归实现回文判断
- c语言实现判断字符串是不是回文
- 递归实现回文判断(如:abcdedcba就是回文)
- 回文字符串的判定------非递归与递归实现(未完)