美文网首页
7. 整数反转

7. 整数反转

作者: 周英杰Anita | 来源:发表于2020-06-22 21:06 被阅读0次

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

示例 1:

输入: 123
输出: 321

示例 2:

输入: -123
输出: -321

示例 3:

输入: 120
输出: 21

注意:

假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231,  231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。

思路

首先将数字转化为字符串;
将字符串转化为字符列表,如果是负数,那么第一个字符就是‘-’,所以从第二个位置是数字字符串的开始位置,例如:-1240,字符列表为[‘1’,‘2’,‘4’,‘0’]
将字符列表反转,如果反转后,数字前面有0就依次去掉 例如[‘4’,‘2’,‘1’]
将反转后的字符列表用join方法连接成一个字符串,[‘4’,‘2’,‘1’] -》 "421"
判断数字的符号,如果是负数,那么字符串前面添加负号,再转化成整数,判断整数的范围;如果是正数,判断正数的范围,返回结果。

python3解法

class Solution:
    def reverse(self, x: int) -> int:
        xstr = str(x)
        temp = ''
        xlist = [i for i in xstr]
        if xlist[0] == '-':
            temp = xlist.pop(0)
        xlist.reverse()
        while xlist[0] == '0':
            xlist.pop(0)
        xstr = ''.join(xlist)
        if temp == '-':
            return int(temp + xstr) if int(temp + xstr) > -math.pow(2,31) else 0
        else:
            return int(xstr) if int(xstr) < math.pow(2,31) -1 else 0 

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-integer
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

相关文章

  • Leecode: 7.整数反转

    在刷Leecode, 7.整数反转思路:将整数转为string后反转,再使用int()转回整数可以顺利提交代码,但...

  • [day1] [LeetCode] [title7,9]

    7. 反转整数 给定一个 32 位有符号整数,将整数中的数字进行反转。 示例1: 输入: 123 输出: 321 ...

  • 7. 反转整数

    20180919-摘抄自7. 反转整数 给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1: 输入:...

  • 算法练习四

    7. 反转整数 给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1: 输入: 123输出: 321示...

  • LeetCodeDay07 —— 反转整数&字符串中的第一个唯一

    7. 反转整数 描述 给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 注意 假设我们的环境只能存储 ...

  • 7.反转整数

    给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1: 示例 2: 示例 3: 注意:假设我们的环境只...

  • 7. 反转整数

    给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1:输入: 123输出: 321 示例 2:输入: ...

  • 7.反转整数

    题目 思路1.判断范围2.反向生成数字代码

  • 7. 反转整数

    一、题目原型: 给定一个 32 位有符号整数,将整数中的数字进行反转。输入: 123输出: 321输入: -123...

  • 7. 反转整数

    内容 给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1: 输入: 123输出: 321示例 2: ...

网友评论

      本文标题:7. 整数反转

      本文链接:https://www.haomeiwen.com/subject/poiffktx.html