其实普通的回文很好判断,重点是在前导0的情况,如果需要添加前导0,那么原字符串后边肯定也有0,那么我们就将后边的0去掉再判断一下就行了
#include<bits/stdc++.h>
using namespace std;
int main(){
string str,tmp,ans;
cin>>str;
tmp=str;
reverse(tmp.begin(),tmp.end());
if(tmp==str){
cout<<"YES"<<endl;
}
else{
int flag=0;
for(int i=str.size()-1;i>=0;i--){
if(str[i]!='0'){
ans.push_back(str[i]);
flag=1;
}
else{
if(flag) ans.push_back(str[i]);
else continue;
}
}
string res;
res=ans;
reverse(res.begin(),res.end());
if(ans==res) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
}