1. 从第一个字母判断是不是回文,如果不是,把第一个字母一直加到一个答案串的首位,如果之后的字母是回文串,立马返回。
#include<bits/stdc++.h>
using namespace std;

bool isP(string s, int start){
     for(int i = start, j = s.size()-1; i<=(i+j)/2; i++, j--){
            if(s[i]!=s[j]){

                return false;
            }
      }

    return true;
}


int main(){

    string s;

    string ans;
    int flag = 0;
    while(cin>>s){
        ans.clear();

        for(int i =0; i< s.size();i++){
            if(!isP(s,i)){//如果不是,那这个字符倒着加到新字符串得第一位
               flag =1;
               ans.insert(ans.begin(),s[i]);
            }else{
                break;//如果从下一个字母开始找是回文串,直接返回。就可以涵盖原先是回文得情况
            }
        }

        if(flag==1){
            cout<<s+ans<<endl;
        }else{
            cout<<s<<endl;
        }


    }


    return 0;
}