Skip to content

Commit

Permalink
更新 Reverse Integer 整数反转 内容
Browse files Browse the repository at this point in the history
  • Loading branch information
jiangzhonglian committed May 16, 2020
1 parent a899b50 commit e845b4d
Showing 1 changed file with 16 additions and 10 deletions.
26 changes: 16 additions & 10 deletions docs/Algorithm/Leetcode/Python/007._Reverse_Integer.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# 7. Reverse Integer 反转整数
# 7. Reverse Integer 整数反转

**<font color=green>难度: Easy</font>**

Expand All @@ -7,8 +7,8 @@
* https://leetcode.com/problems/Reverse-Integer
* https://leetcode-cn.com/problems/reverse-integer

```
给定一个 32 位有符号整数,将整数中的数字进行反转
```python
给定一个 32 位有符号整数,将整数中的数字进行反转

> 示例 1:

Expand All @@ -28,17 +28,15 @@
输出: 21

注意:
假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−2^31, 2^31 − 1]
根据这个假设,如果反转后的整数溢出,则返回 0
假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−2^31, 2^311]
根据这个假设,如果反转后的整数溢出,则返回 0
```

## 解题方案

翻转数字问题需要注意的就是溢出问题,为什么会存在溢出问题呢,

我们知道int型的数值范围是: -2147483648~2147483647(-2^31 ~ 2^31-1),

那么如果我们要翻转 1000000009 这个在范围内的数得到 9000000001,而翻转后的数就超过了范围。
* 翻转数字问题需要注意的就是溢出问题,为什么会存在溢出问题呢
* 我们知道int型的数值范围是: -2147483648~2147483647(-2^31 ~ 2^31-1)
* 那么如果我们要翻转 1000000009 这个在范围内的数得到 9000000001,而翻转后的数就超过了范围

> 思路1
Expand All @@ -57,6 +55,14 @@ class Solution:
x_abs = abs(x)
result = mark * int(str(x_abs)[::-1])
return result if -2**31 <= result <= 2**31-1 else 0


if __name__ == "__main__":

target = -12395
so = Solution()
n = so.reverse(target)
print("结果: ", n)
```

> 思路2
Expand Down

0 comments on commit e845b4d

Please sign in to comment.