Let quasi-palindromic number be such number that adding some leading zeros (possible none) to it produces a palindromic string.
String t is called a palindrome, if it reads the same from left to right and from right to left.
For example, numbers 131 and 2010200 are quasi-palindromic, they can be transformed to strings "131" and "002010200", respectively, which are palindromes.
You are given some integer number x. Check if it's a quasi-palindromic number.
The first line contains one integer number x (1 ≤ x ≤ 109). This number is given without any leading zeroes.
Print "YES" if number x is quasi-palindromic. Otherwise, print "NO" (without quotes).
131
YES
320
NO
2010200
YES
题意:
给你一个数字,你可以在数字最前或最后添加任意个数的0。问你操作之后能不能使数字变成回文。
POINT:
把尾0去掉,接着判断回文就行
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <math.h>
#include<algorithm>
using namespace std;
int main()
{
int n;
scanf("%d",&n);
while(n%10==0) n=n/10;
int s[22];
int cnt=0;
while(n){
s[++cnt]=n%10;
n/=10;
}
int ans=1;
for(int i=1;i<=cnt/2;i++){
if(s[i]!=s[cnt-i+1]){
ans=0;
break;
}
}
if(ans) printf("YES\n");
else printf("NO\n");
}