给你一个 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
用java实现,每次对该数进行模10取余数,在除10取除个位数之外的数,直到除10为0为止。
用一个long型变量接住逆序后的数,防止数据溢出,最后再强转输出。
public int reverse(int x) {
long n = 0;
while(x != 0) {
n = n*10 + x%10;
//每次除10,取之后的整数,正负都适合
x = x/10;
}
return (int)n==n? (int)n:0;
}
这篇博客介绍了如何使用Java编程语言实现32位有符号整数的反转,特别关注了处理可能溢出的情况和边界条件,确保结果在有效范围内。
1519

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



