2231 - 回文串
时间限制 : 1 秒
内存限制 : 128 MB
回文串是从左到右或者从右到左读起来都一样的字符串,试编程判别一个字符串是否为回文串。
题目输入
输入一个字符串。串长度<255.
题目输出
判别输入的字符串是否为回文串,是输出"Y",否则输出"N"。
输入/输出样例
输入格式
abcba
输出格式
Y
C语言解答
#include<stdio.h> #include<string.h> int main() { int i,length,flag; char s[256]; while(scanf("%s",s)!=EOF) { flag=1; length=strlen(s); for(i=0;i<length/2;i++) { if(s[i]!=s[strlen(s)-i-1]) { flag=0; printf("N\n"); break; } } if(flag) printf("Y\n"); } return 0; }
C++解答
#include <iostream> #include <string> using namespace std; int main() { int i,j,len,tag=0; string s; cin>>s; len=s.length(); for(i=0;i<=len/2;++i) if(s[i]!=s[len-i-1]) { tag=1; break; } if(tag==1) cout<<'N'; else cout<<'Y'; return 0; }
Java解答
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String c = in.nextLine(); if(issame(c)==true) System.out.println("Y"); else System.out.println("N"); } public static boolean issame(String c){ return new StringBuffer(c).reverse().toString().equals(c); } }