编写一个方法,接受一个整数作为参数,判断它是否为回文数(正着读和倒着读都一样)
思路:通过反转整数的方式来判断是否为回文数
- 首先,如果输入的整数小于0或者是以0结尾的非零整数,那么它不是回文数,直接返回false。
- 接下来,我们使用一个while循环来将输入的整数反转。
- 使用变量num1来存储反转后的整数,初始值为0。
- 在每一次循环中,我们将num的个位数取出,并加到num1的末尾,然后将num除以10,以便取下一位数。
- 循环结束后,我们比较原始的输入整数num和反转后的整数num1。如果它们相等,或者反转后的整数num1去掉最后一位后与原始整数num相等,那么输入的整数就是回文数,返回true。否则,返回false。
public static boolean drome(int num) {
int num1 = 0;
if (num < 0 || (num % 10 == 0 && num != 0)) {
return false;
}
while (num1 < num) {
num1 = num1 * 10 + num % 10;
num = num / 10;
}
return num == num1 || num == num1 / 10;
}