class Solution {
public:
int reverse(int x) {
const int maxlen = 100;
char str[maxlen];
memset(str, 0, sizeof(str));
if(x == 0x80000000){
return 0;
}
int storex = x;
if(x < 0){
x = x * (-1);
}
sprintf(str, "%d", x);
char rstr[maxlen];
memset(rstr, 0, sizeof(rstr));
int len = strlen(str);
int idx = 0;
for(int i = len - 1; i >= 0; --i){
rstr[idx++] = str[i];
}
rstr[idx] = '\0';
long long res = 0;
for(int i = 0; i < idx; ++i){
res = res * 10 + (rstr[i] - '0');
}
if(res >= 0x7fffffff){
return 0; //overflow
}
if(storex < 0){
res *= (-1);
}
return res;
}
};
leetcode Reverse Integer
最新推荐文章于 2021-01-12 00:40:21 发布