From e845b4dcce4c4e94bcb0bb9853f6b172d5d0d8f0 Mon Sep 17 00:00:00 2001 From: jiangzhonglian Date: Sat, 16 May 2020 21:26:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20Reverse=20Integer=20?= =?UTF-8?q?=E6=95=B4=E6=95=B0=E5=8F=8D=E8=BD=AC=20=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Leetcode/Python/007._Reverse_Integer.md | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/docs/Algorithm/Leetcode/Python/007._Reverse_Integer.md b/docs/Algorithm/Leetcode/Python/007._Reverse_Integer.md index 01edee2e..bb41d0c6 100644 --- a/docs/Algorithm/Leetcode/Python/007._Reverse_Integer.md +++ b/docs/Algorithm/Leetcode/Python/007._Reverse_Integer.md @@ -1,4 +1,4 @@ -# 7. Reverse Integer 反转整数 +# 7. Reverse Integer 整数反转 **难度: Easy** @@ -7,8 +7,8 @@ * https://leetcode.com/problems/Reverse-Integer * https://leetcode-cn.com/problems/reverse-integer -``` -给定一个 32 位有符号整数,将整数中的数字进行反转。 +```python +给定一个 32 位有符号整数,将整数中的数字进行反转 > 示例 1: @@ -28,17 +28,15 @@ 输出: 21 注意: -假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−2^31, 2^31 − 1]。 -根据这个假设,如果反转后的整数溢出,则返回 0。 +假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−2^31, 2^31 − 1] +根据这个假设,如果反转后的整数溢出,则返回 0 ``` ## 解题方案 -翻转数字问题需要注意的就是溢出问题,为什么会存在溢出问题呢, - -我们知道int型的数值范围是: -2147483648~2147483647(-2^31 ~ 2^31-1), - -那么如果我们要翻转 1000000009 这个在范围内的数得到 9000000001,而翻转后的数就超过了范围。 +* 翻转数字问题需要注意的就是溢出问题,为什么会存在溢出问题呢 +* 我们知道int型的数值范围是: -2147483648~2147483647(-2^31 ~ 2^31-1) +* 那么如果我们要翻转 1000000009 这个在范围内的数得到 9000000001,而翻转后的数就超过了范围 > 思路1 @@ -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