zoukankan      html  css  js  c++  java
  • NOJ Palindromes

    Palindromes

    时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 81920 KByte
    总提交 : 65            测试通过 : 36 

    题目描述

    Write a program that determines if each input string is a palindrome. A palindrome is a

    string that reads exactly the same in both forward and reverse directions. For something

    to be considered a palindrome, it must be at least 1 character long. For the purposes of

    your program, ignore any characters that are not letters, as well as spaces when

    determining if a string is a palindrome.




    输入

    The first line of input contains an integer N that indicates the number of test strings to

    follow. On each subsequent line there will be a single test string. Here is a sample:


    输出

    For each test string, output "yes" if the string was a palindrome, and "no" if it was not a

    palindrome. Remember: Ignore any characters that are not letters, as well as spaces.


    样例输入

    5
    able ##was I, e****re I s.aw $Elba
    this is not a palindrome
    A man, a plan, a canal, Panama
    another random string
    Sator Arepo Tenet Opera Rotas

    样例输出

    yes
    no
    yes
    no
    yes


    分析:判断输入的字符串是否回文,仅考虑字符串中的字母,我们可以将输入字符串中的字母存在另一个数组里进行判断。

    实现代码:

    <span style="font-size:12px;">#include<iostream>
    #include<cstdlib>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    int T;
    int main()
    {
      //  freopen("data.in","r",stdin);
        scanf("%d",&T);
        getchar();
      lp:while(T--)
        {
            char a[200000],b[200000];
            a[0]='';
            b[0]='';
            gets(a);
            int cnt=0;
            for(int i=0;i<strlen(a);i++)
            {
                if((a[i]>='A'&&a[i]<='Z')||(a[i]>='a'&&a[i]<='z'))
                    b[cnt++]=a[i];
            }
            for(int i=0,j=cnt-1;i<=j;i++,j--)
            {
                if(b[i]!=b[j]&&b[i]!=b[j]+32&&b[i]+32!=b[j])
                {
                    printf("no
    ");
                    goto lp;
                }
            }
            printf("yes
    ");
        }
    }</span>

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    'Undefined symbols for architecture i386,clang: error: linker command failed with exit code 1
    The codesign tool requires there only be one 解决办法
    XCode iOS project only shows “My Mac 64bit” but not simulator or device
    Provisioning profile XXXX can't be found 的解决办法
    UIView 中的控件事件穿透 Passthrough 的实现
    Xcode4.5出现时的OC新语法
    xcode 快捷键(持续更新)
    打越狱包
    php缓存与加速分析与汇总
    浏览器的判断
  • 原文地址:https://www.cnblogs.com/Tobyuyu/p/4965460.html
Copyright © 2011-2022 走看看