回文数的定义
设n是一任意自然数。若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。例如,若n=1234321,则称n为一回文数;但若n=1234567,则n不是回文数。
注意:
1.偶数个的数字也有回文数124421
2.小数没有回文数
3.负数没有回文数
代码1
public boolean isPalindrome(int x){
if(x<0) return false;
String s = String.valueOf(x); //将数字转为为字符串
for(int i=0;i<s.length()/2;i++){
if(s.charAt(i)!=s.charAt(s.length()-i-1))
return false;
}
return true;
}
这是我实现的代码,代码比较简单易懂,这是LeetCode上的一道简单题。
看了大神的代码,非常地巧妙,下面贴上代码。
代码2
public boolean isPalindrome(int x) {
if (x<0 || (x!=0 && x%10==0)) return false;
int rev = 0;
while (x>rev){
rev = rev*10 + x%10;
x = x/10;
}
return (x==rev || x==rev/10);
}
你们可以可以把数字带进去看看。