7. 整数反转

 1 //注意x = abs(x) x->[-2147483648,2147483647]
 2 class Solution 
 3 {
 4 public:
 5     int reverse(int x) 
 6     {
 7         bool f = false;
 8         long long res = 0;
 9         if(x < 0 && x >= INT_MIN+1) 
10         {
11             f = true,x = abs(x);
12         }
13 
14         while(x)
15         {
16             res = res * 10 + x % 10;
17             x /= 10;
18         }
19         if(f) res = -res;
20         if(res < INT_MIN || res > INT_MAX) return 0;
21         return res;
22     }
23 };

 

 1 class Solution 
 2 {
 3 public:
 4     int reverse(int x) 
 5     {
 6         bool sign = true;
 7         if(x < 0) sign = false;
 8         long long temp = 0;
 9         x = abs(x);
10         while(x)
11         {
12             temp = temp * 10 + x % 10;
13             x /= 10;
14         }
15         if(!sign) temp = -temp;
16         //如果反转后整数溢出那么就返回0
17         if(temp < INT_MIN || temp > INT_MAX) return 0;
18         return temp;
19     }
20 };

 

posted @ 2020-03-15 18:16  Jinxiaobo0509  阅读(133)  评论(0)    收藏  举报