1. 程式人生 > >YTUOJ——小萬的迴文串

YTUOJ——小萬的迴文串

題目描述

迴文串是一個正讀和反讀都一樣的字串,例如,“z”,“aaa”,“abba”是迴文串。小萬嗜好迴文串,見到一個字串,就嘗試將其轉換為迴文串。如果一個字串最多改變一個字元後成為迴文串,就成為可轉換回文串,如,“ytu”,“ab” 是轉換回文串,而“computer”既不是迴文串,也不是可轉換回文串。請編寫一個程式判定任意一個由小寫字母組成的字串是否為迴文串或可轉換回文串。

輸入

字串s(1<=|s|<=15)。

輸出

如果s是迴文串或可轉換回文串,輸出“YES”,否則輸出“NO”。

樣例輸入

abccaa

樣例輸出

YES

答案

#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main()
{
    int i,j,n;
    char s[100];
int    num=0;
    gets(s);
    i=0;
    j=strlen(s)-1;
    while(i<=j)
    {
        if(s[i]!=s[j])
            num++;
        i++;
        j--;
    }
if(num<=1)
        printf("YES\n");
        else
            printf("NO\n");
    return 0;
}