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 };
Mamba never out

浙公网安备 33010602011771号