7. 整数反转
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。
假设环境不允许存储 64 位整数(有符号或无符号)。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-integer
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
import java.util.Scanner;
class Solution {
public static int reverse(int x) {
int ret = 0;
while (x != 0) {
if (ret > Integer.MAX_VALUE / 10 || ret < Integer.MIN_VALUE / 10) {
return 0;
}
/**
* 不溢出
* 则
* -214748364 <= ret <= 214748364
* 加上首位1或2
* 必不溢出
*/
int digit = x % 10;
ret = ret * 10 + digit;
x /= 10;
}
return ret;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
System.out.println(reverse(in.nextInt()));
}
}
}
心之所向,素履以往 生如逆旅,一苇以航

浙公网安备 33010602011771号