说明:
回文数就是一种正序与倒叙度相同的数字,如121,正序是121,倒叙也是121。
这里介绍两种解法:
一种是不转成字符串的解法,另一种就是转成字符穿的解法。
- 不转成字符串的解法:
public boolean Palindrome(Integer num) {
int x =0 ;
int y = num;
int o = 0;
while(num>0) {
x = num % 10;
o = o*10 +x;
num = num /10;
//num = (int)Math.floor(num/10);
}
return y==o;
}
- 转成字符数组的解法:
在进行转字符数组操作之前,我们可以先分析一下字符数组的构造,让我们的计算的时间缩减。
字符数组 [‘1’,‘2’,‘3’,‘2’,‘1’] 与 [‘1’,‘2’,‘3’,‘3’,‘2’,‘1’]
可以发现字符数组 [‘1’,‘2’,‘3’,‘2’,‘1’] ,我们只需要比较后面两个和前面两个数组就可以知道,数字12321是不是不问数字
字符数组 [‘1’,‘2’,‘3’,‘3’,‘2’,‘1’] 则需要比较前面一半与后面一半是否相等皆可。
public boolean Palindrome(Integer num) {
char[] str = num.toString().toCharArray();
int j=0;
if(str.length % 2==0) {
j = str.length / 2 -1;
}else {
j = str.length / 2 ;
}
for(int i = str.length -1; i> j;i--) {
if(str[i]==str[str.length -1 -i]) {
continue;
}else {
return false;
}
}
return true;
}



