您的位置:首页 > 编程语言 > C语言/C++

递归实现回文字符串判断

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.

********************************/

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  笔试面试 递归 CC++ C++