package exercise;
/**
* 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
*
*/
public class Tests {
public static boolean isPalindrome(int num) {
if (num < 0 || (num % 10 == 0 && num != 0)) {// 如果num<0,或者num的最后一位是0,那么num就一定不是回文数
return false;
} else if (num == 0) {
return true;
} else {// 如果num>0,我们可以将它反转,然后将反转后的与num比较,相同则返回true,否则返回false
// 对于翻转后溢出,Java的溢出不会报错,若溢出,说明它就不是回文数,
int rev = 0;
int temp = num;
int pop = 0;
while (temp % 10 > 0) {
pop = temp % 10;
rev = rev * 10 + pop;
temp = temp / 10;
}
if (rev == num) {
return true;
}
}
return false;
}
public static void main(String[] args) {
int num1 = 121;
int num2 = -121;
int num3 = 10;
boolean fs = isPalindrome(num1);
System.out.println("最终结果是:" + fs);
}
}