题解 CF863A 【Quasi-palindrome】
SocietyNiu
2018-02-27 10:53:58
## ~~日常水题~~
这道题十分的简单,主要的思路是调转字符串后根据前导0添加后导0,最后再判断字符串是否相等,代码如下
```
#include<iostream>
using namespace std;
void turn(string &n)//自定义翻转函数,必须&!是传址调用
{
string a;
for(int i=n.length()-1;i>=0;i--)
a+=n[i];//string的好处,可以直接加到后面的!!
n=a;
}
int main()
{
string n;cin>>n;
turn(n);//先翻转
int begin=0;
while(n[begin]=='0') //前导0决定循环,而循环决定添加的后导0个数
n+='0',begin++;//string好处,可以直接加
string b;
b=n;//先保存n
turn(n);//再翻转
if(n==b) cout<<"YES";
else cout<<"NO";
return 0;
}
```