Leetcode_07【整数反转】

文章目录:

  • 题目
  • 脚本一及注释
  • 脚本一逻辑

题目:

给出一个 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)                #否则返回反转后的数值

脚本逻辑:

  • 此脚本第一步需要先对是否带负号"-",进行判断,若带了负号,则要做相应的处理
  • 第二步:将整型变量转变为字符串型变量
  • 第三步:反转字符串变量
  • 第四步:将反转后的字符串型变量转变为整型变量

 

posted @ 2019-12-07 19:46  弈虫  阅读(108)  评论(0编辑  收藏  举报