输入一个以回车符为结束标志的字符串(少于80个字符),判断该字符串是否为回文。
回文就是字符串中心对称,如“abcba”、“abccba”是回文,“abcdba”不是回文。
输入格式:
输入一个以回车符为结束标志的字符串(少于80个字符)
输出格式:
为回文,输出yes; 非回文,输出no,注意输出的结果后面有回车符
输入样例:
abccba
输出样例:
yes
代码长度限制16 KB
时间限制400 ms
内存限制64 MB
方法一: 通过双指针获取并判断
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String str = sc.next();
boolean flag = true;
for(int l = 0, r = str.length()-1; l <= r; l++,r--){
//有一位不符合要求就结束循环
if(str.charAt(l) != str.charAt(r)){
flag = false;
break;
}
}
//flag为true输出yes,反之输出no
System.out.println(flag ? "yes" : "no");
}
}
方法二:通过StringBuilder的反转方法reverse()进行判断
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String str = sc.next();
StringBuilder sb = new StringBuilder();
sb.append(str);
System.out.println(sb.reverse().toString().equals(str) ? "yes" : "no");
}
}