笔试题(蘑菇街):回文串

来源:互联网 发布:思妍丽vc精华液 知乎 编辑:程序博客网 时间:2024/04/29 04:31

[编程题] 回文串
给定一个字符串,问是否能通过添加一个字母将其变为回文串。

输入描述:
一行一个由小写字母构成的字符串,字符串长度小于等于10。


输出描述:
输出答案(YES\NO).

输入例子:
coco

输出例子:
YES
做减法,减去任意一个字符,如果是回文字符串,则返回true


#include<iostream>#include<string>using namespace std;bool isPal(string str){    int len = str.length();        for(int i=0; i<len/2; i++)        if(str[i] != str[len-1-i])        return false;            return true;}bool fun(string str){    if(str.length() <= 2)        return true;        for(int i=0; i<str.length(); i++)        if( isPal( str.substr(0, i) + str.substr(i+1) ) )        return true;            return false;}int main(){    string str;    while(cin>>str){        cout<<(fun(str) ? "YES" : "NO")<<endl;        /*if(fun(str))            cout<<"YES"<<endl;        else            cout<<"NO"<<endl;*/    }    return 0;}


0 0
原创粉丝点击