#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";
&n
#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";
&n

本文介绍了如何利用递归算法来判断一个字符串是否为回文。通过从两端向中间比较字符,递归地检查每个子串,实现了回文字符串的高效检测,适用于编程面试和笔试题目。

2万+

被折叠的 条评论
为什么被折叠?



