Leetcode: Reverse Integer
class Solution {
public:
int reverse(int x) {
int flag = 1;
long long x1 = x;
if(x1 < 0) {
flag = -1;
x1 = 0-x1;
}
int remaind;
long long result=0;
while(x1){
remaind = x1%10;
x1 = x1 /10;
result = result*10 + remaind ;
}
if(flag > 0 && result > 2147483647) return 0;
if(flag<0 && result > 2147483648) return 0;
return flag < 0? -result:result;
}
};
这道题的点我觉得主要是在于如果使用int型保存结果,当取到最小值-2147483648时,-X会溢出
注意溢出问题

浙公网安备 33010602011771号