classSolution:
def reverse(self, x: int)-> int:INT_MIN,INT_MAX=-2**31,2**31-1
rev =0while x !=0:// # INT_MIN 也是一个负数,不能写成 rev < INT_MIN // 10if rev <INT_MIN// 10 + 1 or rev > INT_MAX // 10:return0
digit = x %10// # Python3 的取模运算在 x 为负数时也会返回 [0, 9) 以内的结果,因此这里需要进行特殊判断if x <0 and digit >0:
digit -=10// # 同理,Python3 的整数除法在 x 为负数时会向下(更小的负数)取整,因此不能写成 x //= 10
x =(x - digit)// 10
rev = rev *10+ digit
return rev
classSolution{public int reverse(int x){
int res =0;while(x!=0){//每次取末尾数字
int tmp = x%10;//判断是否 大于 最大32位整数if(res>214748364||(res==214748364&& tmp>7)){return0;}//判断是否 小于 最小32位整数if(res<-214748364||(res==-214748364&& tmp<-8)){return0;}
res = res*10+ tmp;
x /=10;}return res;}}