classSolution{public boolean isPalindrome(int x){// 思路二:进行数字比较,每次求出最前和最后的位置上的数字进行比较// 依次求出前后的数字的位置上面的值// 边界判断,每次都需要对一些不切实际的x的值进行排除if(x <0){returnfalse;}
int div =1;// 计算出最大的那个x有多少位while(x / div >=10) div *=10;while(x >0){
int left = x / div;
int right = x %10;// 对于个位上都是这样进行计算个位上面的数字if(left != right)returnfalse;
x =(x % div)/10;// 以1221为例子,11 比较完以后,比较中间的22即可
div /=100;// 因为每次比较完都是少了两个数字,所以除数也是少了两位}returntrue;}}