题目描述
给你一个整数 x
,如果 x
是一个回文整数,返回 true
;否则,返回 false
。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数
解题思路
1.先判断是否符合回文格式,不符合返回false
2.定义一个为0的数来当做反转的数
3.用while循环,这个反转数赋值为反转数10+数字%10(原数字的个位10变为反转数的进位)
4.最后返回数字==反转数或者反转数/10(因为有可能是12321这样有中间数的)
注意:这只是个方法,要在主方法中才能使用
class Solution {
public boolean isPalindrome(int x) {
if(x<0||(x%10==0&&x!=0)){
return false;
}
int num=0;
while(x>num){
num=num*10+x%10;
x=x/10;
}
return x==num||x==num/10;
}
}