指標-又見迴文

HowieLee59發表於2019-03-17

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<stdlib.h>
#include<string.h>

int main(){
    char *p,*q;
    char a[100001];
    int flag,count;
    while(gets(a) && strcmp(a,"2013")){
        flag = 1;
        count = strlen(a);
        p = a;
        q = p + count - 1;
        while(p < q){
            if(*p == ' '){
                p++;
            }else if(*q == ' '){
                q--;
            }else if(*p == *q){
                p++;
                q--;
            }else{
                flag = 0;
                break;
            }
        }
        if(flag == 1){
            printf("YES\n");
        }else if(flag == 0){
            printf("NO\n");
        }
    }
    return 0;
}

 

相關文章