33判斷字串是否為迴文

自為風月馬前卒發表於2017-03-01

33:判斷字串是否為迴文

總時間限制: 
1000ms
 
記憶體限制: 
65536kB
描述

輸入一個字串,輸出該字串是否迴文。迴文是指順讀和倒讀都一樣的字串。

輸入
輸入為一行字串(字串中沒有空白字元,字串長度不超過100)。
輸出
如果字串是迴文,輸出yes;否則,輸出no。
樣例輸入
abcdedcba
樣例輸出
yes


#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
char a[10001];
char b[10001];
int now;
int find1;
int main()
{
    gets(a);
    int l=strlen(a);
    if(l%2==1)//如果長度是奇數
    {
         find1=l/2+1;//從中間向兩邊尋找
        int i=0;
        while(i!=find1)
        {
        if(a[find1-i-1]!=a[find1+i-1])//如果兩邊的值不相同
        {
            cout<<"no";
            return 0;
        }
        else i++;
    }
    cout<<"yes";
    }
    else 
    {
         find1=l/2;
         int i=0;
        while(i!=find1)
        {
        if(a[find1-i-1]!=a[find1+i])
        {
            cout<<"no";
            return 0;
        }
        else i++;
        }
            cout<<"yes";
    }
    return 0;
}

 

相關文章