7 Reverse Integer(数字反转Easy)

时间:2021-05-16 13:34:48

题目意思:int数字反转

考虑:越界问题

 class Solution {
public:
int reverse(int x) {
long ans=;
while(x){
ans=ans*+x%;
x=x/;
}
return (ans > INT_MAX || ans < INT_MIN)? : ans;
}
};

ps:leetcode中long比int要长,可是visual c++中long和int取值范围一样

因而有了下面这种我认为更好的代码

 class Solution {
public:
int reverse(int x) {
int ans=;
while(x>=||x<=-){
ans=ans*+x%;
x=x/;
}
if(ans>INT_MAX/||(ans==INT_MAX/&&x>INT_MAX%))
return ;
if(ans<INT_MIN/||(ans==INT_MIN/&&x<INT_MIN%))
return ;
return ans*+x%;
}
};