地址
https://leetcode-cn.com/problems/reverse-integer/submissions/
描述
思想
在不考虑溢出的情况下算翻转整数
考虑溢出
代码
y总的nb代码
class Solution {
public:
int reverse(int x) {
int res = 0;
while (x) {
if (x > 0 && res > (INT_MAX - x % 10) / 10) return 0;
if (x < 0 && res < (INT_MIN - x % 10) / 10) return 0;
res = res * 10 + x % 10;
x /= 10;
}
return res;
}
};
自己写的蒟蒻代码
class Solution {
public:
int getlength(int x){
int l=0;
while(x!=0){
x=x/10;
l++;
}
return l;
}
int reverse(int x) {
long res=0;
int ans=0;
int l=getlength(x);
long left=-1*pow(2.0,31);
long right=pow(2.0,31)-1;
for(int i=0;i<l;i++){
int temp=x%10;
x=x/10;
res+=temp*pow(10.0,l-i-1);
}
if(res>=left&&res<=right) {
ans=res;
return ans;
};
return 0;
}
};