java回文数
时间: 2023-09-10 21:07:35 浏览: 55
判断一个数是否为回文数,可以将其转换为字符串,然后判断字符串是否为回文串。代码如下:
```
public static boolean isPalindrome(int x) {
String str = String.valueOf(x);
int i = 0, j = str.length() - 1;
while (i < j) {
if (str.charAt(i) != str.charAt(j)) {
return false;
}
i++;
j--;
}
return true;
}
```
如果要求使用数学方法判断一个数是否为回文数,可以对其进行翻转,如果翻转后与原数相等,则为回文数。代码如下:
```
public static boolean isPalindrome(int x) {
if (x < 0 || (x % 10 == 0 && x != 0)) {
return false;
}
int revertedNumber = 0;
while (x > revertedNumber) {
revertedNumber = revertedNumber * 10 + x % 10;
x /= 10;
}
return x == revertedNumber || x == revertedNumber / 10;
}
```
这里有一个小技巧,如果原数的位数为偶数,则翻转后与原数相等;如果原数的位数为奇数,则翻转后比原数少一位,此时需要将翻转后的数除以 10 再与原数比较。