LeetCode7. 整数反转
难度:中等
给你一个 32 位的有符号整数 x
,返回将 x
中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1]
,就返回 0。
假设环境不允许存储 64 位整数(有符号或无符号)。
示例 1:
输入:x = 123
输出:321
示例 2:
输入:x = -123
输出:-321
示例 3:
输入:x = 120
输出:21
示例 4:
输入:x = 0
输出:0
提示:
-231 <= x <= 231 - 1
解法
整数反转其实非常简单,除10作为循环因子,余10得到整数的每一位。然后注意一下边界条件就好了。
class Solution {
public:
int reverse(int x) {
long num_rev = 0;
while (x != 0)
{
num_rev = num_rev * 10 + x % 10;
if (num_rev >= INT_MAX || num_rev <= INT_MIN)
return 0;
x /= 10;
}
return num_rev;
}
};
/= 10;
}
return num_rev;
}
};
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/d396842c413a4eea89f15fb2200046c3.png#pic_center)