美文网首页
LeetCode 7. 整数反转

LeetCode 7. 整数反转

作者: liulei_ahu | 来源:发表于2019-02-21 21:21 被阅读0次

    7. 整数反转

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


    示例 1:

    输入: 123
    输出: 321
    

    示例 2:

    输入: -123
    输出: -321
    

    示例 3:

    输入: 120
    输出: 21
    
    注意:

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


    解题思路
    分类讨论:当x>=0时,将其转换成字符串然后逆置; 当x<0时, 取绝对值,转换成字符串,再逆置。(逆置后再转为int类型会自动去掉前置0


    代码实现

    class Solution:
        def reverse(self, x: 'int') -> 'int':
            if x>=0:
                result = int(str(x)[::-1])
            else:
                result = -int(str(-x)[::-1])
            if result < - 2**31 or result > 2**31 -1 :
                return 0
            return result
    

    相关文章

      网友评论

          本文标题:LeetCode 7. 整数反转

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