刷题:蘑菇街回文串

题目描述

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

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


输出描述:
输出答案(YESNO).

输入例子:
coco

输出例子:
YES


#include<iostream>
#include<string>
using namespace std;
string rev(string &str)
{
      string tmp="";
    for(int i=str.size()-1;i>=0;i--)
        {
        tmp=tmp+str[i];
        }
    return tmp;
    }
bool is(string&str)
    {
    char first=str[0];
    char end=str[str.size()-1];
    string s1=end+str;
    string s2=rev(str)+end;
    string s3=str+first;
    string s4=first+rev(str);
    if(s1==s2||s3==s4)
       return true;
        return false;
    
}
int main()
    {
    string str;
    while(cin>>str){
        if(is(str))
            cout<<"YES"<<endl;
        else cout<<"NO"<<endl;
}
    return 0;
}
原文地址:https://www.cnblogs.com/daocaorenblog/p/5338682.html