力扣刷题笔记(六)
7. 整数反转
难度:中等⭐️⭐️⭐️⭐️
题目
给你一个 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
代码
- 模拟
class Solution {
public int reverse(int x) {
if (x == 0) {
return 0;
}
int flag = 0;
if (x < 0) {
flag = 1;
x = -x;
}
int i = 0;
int res = 0;
while (x > 0) {
int num = x % 10;
if (res > Integer.MAX_VALUE / 10) {
return 0;
}
res = res * 10 + num;
x = x / 10;
}
return flag == 0 ? res : -res;
}
}
笔记
- 用一个数把x对10取余得到的每一位都存起来,然后按顺序乘和加起来。
我开源了一份武林秘籍,欢迎⭐️star:
创作不易,喜欢的话加个关注点个赞,❤谢谢谢谢❤
文章介绍了如何在32位有符号整数范围内反转整数,通过模拟除法和取余操作,处理负数情况,并提供了Java代码示例。作者还分享了GitHub上的代码仓库链接。

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



