互联网行业的小白,写博客的目的是为了记录自己的学习过程、对自己学习中所犯的错误做一个总结。由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!
题目描述
题目传送门:整数反转
给出一个32
位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例 1:
输入: 123
输出: 321
示例 2:
输入: -123
输出: -321
示例 3:
输入: 120
输出: 21
注意:
假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [ 2 31 , 2 31 − 1 ] [2^{31}, 2^{31}-1] [231,231−1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
题解
关键点
-
判断整数的正负
-
判断反转后的整数是否溢出
AC代码:
class Solution:
def reverse(self, x: int) -> int:
flag = True # 标记正负数
if x < 0:
flag = False
x = -x # 是负数,就转换为正数
x = str(x)[::-1] # 字符串反转x
if not flag:
x = -int(x)
x = int(x)
return x if -1 * pow(2, 31) <= x <= pow(2, 31) - 1 else 0
码字不易,您的
支持
就是我坚持
下去的动力,一起加油哦。