1394 - 回文字符串
给出一个长度不超过1000的字符串,判断它是不是回文(顺读,逆读均相同)的。
Input
输入包括一行字符串,其长度不超过1000。
Output
可能有多组测试数据,对于每组数据,如果是回文字符串则输出"Yes!”,否则输出"No!"。
Examples
Input
hellolleh helloworld
Output
Yes! No!
Solution C
#include<stdio.h> #include <stdlib.h> #include<string.h> int main() { char str[1001]; int len,i,flag; while(gets(str)) { len=strlen(str); flag=1; for(i=0;i<len/2;i++) { if(str[i]!=str[len-i-1]) { flag=0; break; } else continue; } if(flag==1) printf("Yes!\n"); else printf("No!\n"); } return 0; }
Solution C++
#include <stdio.h> #include <string.h> bool IsPalindromeString(char str[]){ int len = strlen(str); for(int i=0; i<len/2; i++){ // 这里实际上只要遍历到字符串长度的一般即可 if(str[i] != str[len-i-1]){ return false; } } return true; } int main(){ char str[1100]; while(gets(str)){ puts(IsPalindromeString(str) ? "Yes!" : "No!"); // 使用一个条件运算符,简化代码 } return 0; }