游客 Signup | Login
中文 | En

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;
}

Time Limit 1 second
Memory Limit 32 MB
Discuss Stats
上一题 下一题