Codeforces 题解 CF863A 【Quasi-palindrome】
此题本质上是:求一个数去掉后缀零后是否是回文串
因此,代码分为:
>>> 读入
>>> 删除后缀0
>>> 判断回文
>>> 转为数组存储
>>> 依次比较开头和结尾是否相同(头指针后移,尾指针前移)
>>> 输出结果
所以,我们有了:
#include <?????.?> //杜绝抄袭!
??? main() //杜绝抄袭!
{
int n;
//读入
scanf("%d", &n);
//删除后缀0
while (n % 10 == 0) n /= 10;
int a[10], len = 0; //a存储数组形式的n
bool huiwen = true; //删除后缀0的n是否是回文
//转为数组存储
while (n != 0) a[m++] = n % 10, n /= 10;
//依次比较开头和结尾是否相同(头指针后移,尾指针前移)
for (int i = 0, j = m - 1; i <= j; i++, j--)
if (a[i] != a[j]) huiwen = false;
//输出
if (huiwen)
printf("YES");
else
printf("NO");
return 0;
}
avoiding plagiarism! //杜绝抄袭!