* 假设我们的环境只能存储得下 32 位的有符号整数,
* 则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
* int型的数值范围是 -2147483648~2147483647, 那么如果我们要翻转 1000000009
* 这个在范围内的数得到 9000000001,而翻转后的数就超过了范围
* @param x int整型
* @return int整型
public int reverse (int x) {
long result = 0;
while (x != 0){
result = result * 10 + x % 10;
x = x / 10;
if (result > Integer.MAX_VALUE || result < Integer.MIN_VALUE){
return 0;
return (int)result;
/** * 假设我们的环境只能存储得下 32 位的有符号整数, * 则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。 * int型的数值范围是 -2147483648~2147483647, 那么如果我们要翻转 1000000009 * 这个在范围内的数得到 9000000001,而翻转后的数就超过了范围 * @param x int整型 * @return int整型 ...
https://leetcode-cn.com/problems/reverse-integer/
给
出
一个 32 位的有
符号
整数
,你
需要
将这个
整数
中
每位上的
数字
进行
反
转
。
假设我们的环境只能存储得下 32 位的有
符号
整数
,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果
反
转
后
整数
溢
出
那么就返回 0。
示例 1:
输入: 123
输
出
: 321
示例 2:
输入: -123
输
出
: -321
给你一个 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
来源:力扣(LeetCode)
链接:https:/
题:假设我们的环境只能存储得下 32 位的有
符号
整数
,给
出
一个 32 位的有
符号
整数
,你
需要
将这个
整数
中
每位上的
数字
进行
反
转
。其数值范围为 [−231, 231 − 1]。请根据这个假设,如果
反
转
后
整数
溢
出
那么就返回 0。
分析:当
数字
进行
反
转
的时候,就容易
出
现数据溢
出
的可能
假如,13145不会
出
现溢
出
异常,但是54131就会
出
现溢
出
的可能
则,
需要
判断的是,数据是否会溢
出
。
而32位,正好是int数据,则,每次翻
转
的数据只要在int范围内则可以。
public static void main(
给
出
一个 32 位的有
符号
整数
,你
需要
将这个
整数
中
每位上的
数字
进行
反
转
。
java
中
最大
整数
值是Integer.MAX_VALUE = 2^31-1 = 2147483647
同理最小
整数
值是Interger.MIN_VALUE = -2^31 = 22147483648
(此处个位数加粗后面
需要
用到)
题目:假设我们的环境只能存储得下 32 位的有
符号
整数
,则其数值范围为 [−2^31, 2^31 − 1]。请根据这个假设,如果
反
转
后
整数
溢
出
那么就返回 0
public int reverse
输
出
: 21
假设我们的环境只能存储得下 32 位的有
符号
整数
,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果
反
转
后
整数
溢
出
那么就返回 0。
思路:枚举
class Solution:
def reverse(self, x: int) -> int: