来源于杭电ACM2029题
Problem Description
“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。
Input
输入包含多个测试实例,输入数据的第一行是一个正整数n,表示测试实例的个数,后面紧跟着是n个字符串。
Output
如果一个字符串是回文串,则输出"yes",否则输出"no".
Sample Input
4 level abcde noon haha
Sample Output
yes no yes no
以下是我的AC代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner kb=new Scanner(System.in);
while(kb.hasNextInt()){
int n=kb.nextInt();
boolean flag=true;
for(int i=0;i<n;i++){
String tab=kb.next();
char[] sc=tab.toCharArray();
if(sc.length%2==0){
for(int j=0;j<sc.length/2;j++){
if(sc[j]!=sc[sc.length-1-j]){
flag=false;
}
}
}
if(sc.length%2!=0){
for(int j=0;j<(sc.length-1)/2;j++){
if(sc[j]!=sc[sc.length-1-j]){
flag=false;
}
}
}
if(flag){
System.out.println("yes");
}else{
System.out.println("no");
}
flag=true;
}
}
}
}