7. 反转整数
给定一个 32 位有符号整数,将整数中的数字进行反转。
示例 1:
输入: 123 输出: 321
示例 2:
输入: -123 输出: -321
示例 3:
输入: 120 输出: 21
注意:
假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。
您是否在真实的面试环节中遇到过这道题目呢?
我的答案:
class Solution {
public:
int res=0;
int tmp=0;
int overflow=0;
int reverse(int x) {
tmp=res*10+x%10;
if(res!=((tmp-x%01)/10))
{
overflow=1;
return 0;
}
res=tmp;
if(x>=10 || x<=-10)
{
reverse(x/10);
}
if(!overflow)
{
return res;
}
else
{
return 0;
}
}
};
提交记录
|
1032 / 1032 个通过测试用例 | 状态:
通过 |
|
执行用时:24 ms |
我的提交执行用时
已经战胜 50.88 % 的 cpp 提交记录
本文介绍了一种用于反转32位有符号整数的算法,并提供了详细的代码实现。该算法考虑了整数反转可能导致的溢出问题,确保了在有效范围内正确反转整数。
994

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



