给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
例如,121 是回文,而 123 不是。
示例 1:
输入:x = 121
输出:true
示例 2:
输入:x = 10
输出:false
解释:从右向左读, 为 01 。因此它不是一个回文数。
回文数是指从左到右和从右到左读取都相同的数字或字符串。
这个方法首先检查数字是否为负数。如果是负数,则不是回文数。
然后,使用一个 while 循环来反转数字。
在每次循环中,它将 reversed 乘以 10,然后加上 original 的个位数。最后,它将 original 除以 10,以便在下一次循环中处理下一个数字。最后,方法返回 reversed 是否等于原始数字,如果是,则为回文数,否则不是。
public static boolean isPalindrome(int num) {
if (num < 0) {
return false;
}
int reversed = 0;
int original = num;
while (original != 0) {
reversed = reversed * 10 + original % 10;
original /= 10;
}
return reversed == num;
}