文章目录:
- 题目
- 脚本一及注释
- 脚本一逻辑
题目:
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例 1:
输入: 123
输出: 321
示例 2:
输入: -123
输出: -321
示例 3:
输入: 120
输出: 21
注意:
假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
脚本一及注释:【用时:24ms】
class Solution: #定义一个类 def reverse(self, x: int) -> int: #定义一个方法及其形参 x1 = str(x) #将整形变量转变为字符型变量 if "-" in x1: #判断字符串是否带有负号 x2 = x1[1:] #若有,则使用分片的方法将字符串第一个字符去掉,生成新的字符串 x3 = x2[::-1] #反转字符串 x4 = int(x3) #将字符串型变量转变为整形变量 if -x4 < -2**31: #根据题目意思,若反转后的数值溢出,则返回0 return(0) else: return(-x4) #否则返回反转后的整数 else: x2 = x1[::-1] #若字符串不带负号"-",直接反转字符串,并生成新的变量 x3 = int(x2) #将新的字符串变量转变为整型变量 if x3 > 2**31: #同样判断反转后的数值是否溢出 return(0) #若溢出,则返回0 else: return(x3) #否则返回反转后的数值
脚本逻辑:
- 此脚本第一步需要先对是否带负号"-",进行判断,若带了负号,则要做相应的处理
- 第二步:将整型变量转变为字符串型变量
- 第三步:反转字符串变量
- 第四步:将反转后的字符串型变量转变为整型变量