class Solution {
public boolean isPalindrome(int x) {
if(x < 0 || (x % 10 == 0 && x != 0)) return false;
int res = 0;
while(x > res){
res = x % 10 + res * 10;
x /= 10;
}
return x == res || x == res / 10;
}
}io
总结:class
1.原本想用if( x != 0 && (x < 11 || x % 10 ==0))这个判断,可是发现当1时,应该返回true,应该0-9都算回文了,因此这个判断行不通。总结
2.当计算一半时,就能够验证是不是回文,好比1331,获得13,跟原数1331前一部分比较是相等的。while
3.最后是位数奇数偶数进行不一样判断,奇数就回文除10return
还行挺简单的,这个本身写出来一部分,看答案写了一部分。