Test Message

a022: 迴文

內容

迴文的定義為正向,反向讀到的字串均相同

如:abba , abcba … 等就是迴文

請判斷一個字串是否是一個迴文?


輸入

一個字串(長度 < 1000)

abba
abcd

輸出

yes or no

yes
no


解題思路

兩指針分別指向字串頭尾,一邊判斷是否相同,一邊慢慢向中心靠攏直至左指針>=右指針,如果有不同則用 break 跳離並輸出 no。


完整程式碼

AC (2ms, 92KB)
#include <stdio.h>
#include <string.h>

char str[1000] , isNot;

int main()
{
while (scanf(" %s", str) == 1)
{
isNot = 0;
for (int i = 0, j = strlen(str) - 1; i < j; i++, j--)
{
if (str[i] != str[j])
{
isNot = 1;
break;
}
}
if (isNot)
puts("no");
else
puts("yes");
}
return 0;
}