2231 - 回文串

通过次数

0

提交次数

0

时间限制 : 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);
		
	}

}