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!                        //杜绝抄袭!

转载于:https://www.cnblogs.com/hkxadpall/p/9895899.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值