给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。
主要代码如下
class Solution {
public boolean isPalindrome(int x) {
if(x<0){
return false;
}else{
int i=0;
int[] a=new int[12];
while(x>0){
a[i]=x%10;
x/=10;
i++;
}
i--;
for (int j = 0; j <= i; j++,i--) {
if (a[j]!=a[i]){
return false;
}
}
return true;
}
}
}
首先,方法检查x是否小于0。如果是,则直接返回false,因为负数不可能是回文数。如果x大于等于0,则进入else语句块。在此处,定义了一个长度为12的整型数组a,用于存储x的每一位数字。同时,定义了一个变量i,初始值为0,用于记录当前处理的数字位数。接下来,使用while循环将x的每一位数字提取出来,并将其存储在数组a中。每次循环,将x除以10,并将余数存储在数组a的第i个位置。然后,将i加1,以便下一次循环时能够存储下一个数字。当x变为0时,说明已经将所有数字提取出来了。此时,将i减1,使其指向数组a的最后一个元素。最后,使用for循环从数组a的两端开始比较数字。如果发现两个数字不相等,则说明x不是回文数,直接返回false。如果循环结束后没有发现不相等的数字,则说明x是回文数,返回true。
回文数在计算机科学中有广泛的应用。例如,它们可以用于检测数据的错误,因为回文数在传输过程中的错误率较低。此外,回文数也常用于算法设计,特别是在解决对称性问题时。
希望这篇文章能帮助大家更好地理解如何在Java中判断回文数。欢迎大家一起交流,指正错误