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;
    }
    
  • 相关阅读:
    td-agent 收集日志到kafka的配置
    ctrl+z 以后怎么恢复挂起的进程
    LCD显示GPS时钟[嵌入式系统]
    树莓派轮盘游戏机[嵌入式系统]
    集成测试工具
    未上线的界面
    前端网页内复杂编辑
    用jquery编写的分页插件
    用jquery编写的tab插件
    EAA脚本语言0.2
  • 原文地址:https://www.cnblogs.com/lcchy/p/10139621.html
Copyright © 2011-2022 走看看