给你一个整数 x ,如果 x 是一个回文整数,返回 ture ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。
链接:https://leetcode-cn.com/problems/palindrome-number
①如果x为负数,则一定不是回文数
②如果x为零,一定是回文数
③如果x为正数,则按部就班计算x的逆序数,判断x是否与其逆序数相等即可。注意溢出的情况,所以这里res设置成为了long类型。
class Solution {
public boolean isPalindrome(int x) {
if(x<0) return false;//负数一定不是回文数
if(x==0) return true;//零是回文数
long res=0; //long类型防止溢出
int p=x;
while(p!=0){//求x的逆序数
res=res*10+p%10;
p/=10;
}
return x==res;//判断x和其逆序数是否一致
}
}