题目链接:7.整数反转

题解:

水题一个!

题目简述:

正负数都倒序输出即可,负数处理完还是负数。

题解:

正负数的原因,应该分开处理,但是C++取余不区分正负,和数学不一样,会区分正负。

题目有 2 ^ 31的限制,即 int的最大最小值,使用INT_MAX 和 INTMIN即可,头文件位于climits中。res定义为long long防止溢出。

注意:不要使用 2 << 31,会溢出的,结果为 0。

AC代码:

1
2
3
4
5
6
7
8
9
10
11
12
class Solution {
public:
int reverse(int x) {
long long res = 0;
while(x){
res = res * 10 + x % 10;
x /= 10;
}
if(res > INT_MAX || res < INT_MIN) return 0;
return res;
}
};