07整数反转

这道题是简单题的一种,其实难点主要在于判断是否溢出,如果溢出的话,那么他实际存储的值是就是他的后32位的数,具体可以另一篇关于他的介绍。

那么如何判断是否溢出呢?

我们用j表示每次除以10的余数,m表示新的数,如果在某次运算中数据溢出,那么m将不是反转后的数,那么他此时对10求余,便与刚刚求得的j值不一样,此时返回0;

 1 class Solution {
 2     public int reverse(int x) {
 3         int j=0;
 4         int m=0;//m表示新的数
 5         while(x!=0)
 6         {
 7            
 8                 j=x%10;
 9                 x=x/10;
10                 m=10*m+j;
11                 if(m%10!=j)
12                 return 0;
13            
14         }
15         return m;
16       
17 
18     }
19 }
View Code

 

posted @ 2020-08-01 21:42  卑微的孤独患者  阅读(92)  评论(0编辑  收藏  举报