zoukankan      html  css  js  c++  java
  • 又见回文 (SDUT 2560)

    Problem Description

        “回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。现在呢,就是让你判断输入的字符串是否是回文串。

    Input

        有多组输入,每行输入一串字符,保证字符串长度不会大于 100000,字符串由大小写英文字母和空格组成,以字符串“2013”作为结束标志。

    Output

        每行输出一个字符串,如果输入是回文串,输出“YES”,否则输出“NO”(注意:判断的时候空格是不作判断的,详见样例)。

    Sample Input

    aaaa
    ggg g
    lozxvxoMJBCHsTXooXTsHCBJMoxvxzol
    i am a good acmer
    2013

    Sample Output

    YES
    YES
    YES
    NO
    

    题解:稍微处理一下直接比较就可以了。

    #include <stdio.h>
    #include <string.h>
    const int maxn = 100000;
    char s[maxn + 10];
    int main()
    {
        int i, j;
        while(gets(s) != '')
        {
            if(strcmp(s, "2013") == 0) return 0;
            int len = strlen(s);
            int f = 0;
            for(i = 0, j = len - 1; i < j;)
            {
                if(s[i] == s[j])   // 相等就继续比较
                {
                    i ++;
                    j --;
                }
                else if(s[i] == ' ' && s[j] != ' ') // 如果任意在前面或者后面或者前面和后面遇到空格,往后跳一格
                {
                    i ++;
                }
                else if(s[i] != ' ' && s[j] == ' ')
                {
                    j --;
                }
                else if(s[i] == ' ' && s[j] == ' ')
                {
                    i ++;
                    j --;
                }
                else            //出现不是回文串的情况
                { 
                    f = 1;
                    break;
                }
            }
            if(f == 0) printf("YES
    ");
            else printf("NO
    ");
        }
        return 0;
    }
    
  • 相关阅读:
    委托与事件的关系
    分布式存储ceph——(1)部署ceph
    neutron二
    openstack第五章:cinder
    openstack第六章:dashboard
    openstack第一章:keystone
    openstack第二章:glance
    openstack第三章:nova
    openstack第四章:neutron— 网络服务
    openstack安装
  • 原文地址:https://www.cnblogs.com/lcchy/p/10139621.html
Copyright © 2011-2022 走看看