美文网首页
leetcode7. Reverse Integer

leetcode7. Reverse Integer

作者: 冰源 | 来源:发表于2018-09-11 11:05 被阅读4次
    Given a 32-bit signed integer, reverse digits of an integer.
    
    Example 1:
    ---
    Input: 123
    Output: 321
    
    Example 2:
    ---
    Input: -123
    Output: -321
    
    Example 3:
    ---
    Input: 120
    Output: 21
    
    Note:
    Assume we are dealing with an environment which could only store integers within the 32-bit signed integer range: [−2^31,  2^31 − 1]. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.
    
    class Solution:
        def reverse(self, x):
            """
            :type x: int
            :rtype: int
            """
            if x >= 2**31 or x < -2**31:return 0
            if x > 0: flag = 1
            elif x < 0: flag = -1
            else: return 0
            
            x = abs(x)
            digits = []
            while x != 0:
                digits.append(str(x % 10))
                x //= 10
            
            out = int(''.join(digits))
            if out >= 2**31 or out < -2**31:
                return 0
            
            return out*flag
    

    相关文章

      网友评论

          本文标题:leetcode7. Reverse Integer

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