判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
实例:
输入:121
输出:true
输入:-121
输出:false
输入:10
输出:false
思路:
首先,负数不是回文数,因为有个负号
剩下的就是整数,把数字翻转一下,和原来的一样就是回文
反转时,当有溢出时,返回负数(因为负数不会和正数相等)
代码:
class Solution {
public boolean isPalindrome(int x) {
if(x<0){
return false;
}
return x==reverse(x)?true : false;
}
public int reverse(int x){
int res=0;
while(x!=0){
int tail=x%10;
int newres=res*10+tail;
if((newres-tail)/10!=res){
return -1;//代表这不是回文数
}
res=newres;
x/=10;
}
return res;
}
}