题目
给定一个 32 位有符号整数,将整数中的数字进行反转。
示例
- 示例1
输入: 123
输出: 321 - 示例2
输入: -123
输出: -321 - 示例3
输入: 120
输出: 21
注意
假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。
C++代码
class Solution {
public:
int reverse(int x)
{
int tmp;
int x1=0;
while(x!=0)
{
tmp=x%10;
x/=10;
if(x1>INT_MAX/10||(x1==INT_MAX/10&&tmp>7))
return 0;
if(x1<INT_MIN/10||(x1==INT_MIN/10&&tmp<-8))
return 0;
x1=x1*10+tmp;
}
return x1;
}
};
本文介绍了一种算法,用于将32位有符号整数的数字进行反转。通过示例展示了输入输出情况,并提供了C++代码实现,考虑了整数溢出的情况。
470

被折叠的 条评论
为什么被折叠?



