讨论/《初级算法》 - 整数反转/
《初级算法》 - 整数反转
  1. 特判Tmin
  2. flag为符号位
  3. 判断溢出
    c++解法:

const int Tmax = 2147483647;
const int Tmin = -2147483648;
class Solution {
public:
    int reverse(int x) {
        if(x == Tmin) return 0;
        int ans = 0, flag = 1; 
        if(x < 0){
            flag = -1;
            x = -1*x;
        } 
        while(x > 0){
            int xx = x % 10;
            //判断是否溢出
            if(ans > 214748364) return 0;
            ans = ans * 10 + xx;
            x /= 10;
        }
        return flag*ans;
    }
};
展开全部 43 讨论