import java.util.*;
public class Solution {
public boolean isPalindrome (int x) {
//1. 负数,不是回文数字,返回false
//2. 判断首位为0的数字,不合法,返回false
//3. 个位数都为回文数,返回true。单独判断的目的是因为后面的判断逻辑用到了商值(quo!=0)。
if(x <0) return false;
if(x%10==0) return false;
if(x>=0&&x<10) return true;
//4. 将整数反转后,判断和原值是否相等。若相等,返回true;否则,返回false。若整数溢出,肯定不是回文数,返回false。
int mod = 0;//取模值
int quo = 1; //取商值,初始值值不能为0,是因为后面有quo!=0的判断
int tmp =0; //定义整数的反转值
int y=x;
while(quo!=0){
quo = y/10;
mod = y%10;
tmp = tmp*10+ mod;
y=quo;
System.out.println(tmp);
if(tmp>Integer.MAX_VALUE||tmp<Integer.MIN_VALUE) return false;
}
if(x==tmp) return true;
else return false;
}
}