9.回文数
题目:给你一个整数x,如果x是一个回文整数,返回true;否则,返回false。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
class Solution{
public boolean isPalindrome(int x){
//特殊情况;
//如上所述,当x<0时,x不是回文数
//同样地,如果数字的最后一位是0,为了使该数字为回文
//则第一位数字也应该是0
//只有0满足这一属性
if(x<0||(x%10==0&&x!=0)){
return false;
}
int revertedNumber=0;
while(x>revertedNumber){
revertedNumber=revertedNumber*10+x%10;
x /=10;
}
// 当数字长度为奇数时,我们可以通过 revertedNumber/10 去除处于中位的数字。
// 例如,当输入为 12321 时,在 while 循环的末尾我们可以得到 x = 12,revertedNumber = 123,
// 由于处于中位的数字不影响回文(它总是与自己相等),所以我们可以简单地将其去除。
return x==revertedNumber||x==revertedNumber/10;
}
}
原文地址:https://blog.csdn.net/qq_43714918/article/details/136365206
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!