概念:
设n是一任意自然数。若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。例如,若n=1234321,则称n为一回文数;但若n=1234567,则n不是回文数。
分析:
设置两个指针,一个从第一个开始,一个从后面开始,循环比较两个指针指向的字符是否相等
//回文数判断
System.out.println("请输入一个字符串:");
Scanner in =new Scanner(System.in);
String str =in.nextLine();
boolean isPalindrome=false;
int begin=0,end =str.length()-1;
while(begin<end &&str.charAt(begin)==str.charAt(end)) {
begin++;
end--;
}
if(begin >=end) { //奇数情况下若是回文数begin会等于end,偶数情况下begin会大于end
isPalindrome =true;
}
System.out.println(str+(isPalindrome?"":"不")+"是一个回文字符串");