import java.util.Scanner;
public class CheckPalindrome {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner input = new Scanner(System.in);
System.out.print("Enter a string:");
String s = input.nextLine();
if(isPalindrome(s))
System.out.print(s+" is a palindrome ");
else
System.out.print(s+" is not a palindrome ");
}
public static boolean isPalindrome(String s) {
int low=0;
int high = s.length()-1;
while(low<high) {
if(s.charAt(low)!= s.charAt(high)) //charAt()是字符索引方法
return false;
low++;
high--; }
return true;
}
}
解释一下charAt(x),也就是把字符串里面的x拎出来。 比如String n=“hello world” ,那么charAt(0) = h, charAt(1)= e ,索引是从0开始的。
以前写回文的时候都是for直接循环到n/2来比较,虽然看起来简单不少,但是定义一个low和high能让思路清晰很多,这种简单的题不明显,更复杂的话作用就更能体现了。