Q7 Reverse Integer

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 hold integers within the 32-bit signed integer range. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.

解题思路:

将整数转化为字符串,处理完后转化为整数

注意点:

原数字和转化后的数字都不能溢出

Python实现:
class Solution(object):
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        min = -2**31
        max = 2**31 - 1
        if  x < min or x > max or x == 0:  # 0 不用反转
            return 0
        if x > 0:
            rev = int(str(x)[::-1])  # [::-1]字符串反转
        else:
            rev = -int(str(x)[1:][::-1])
        if rev < min or rev > max:  # 反转后的数字溢出
            return 0
        return rev

a = 1023456789
b = Solution()
print(b.reverse(a))  # 转化后的数字溢出,返回0
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,473评论 0 10
  • PLEASE READ THE FOLLOWING APPLE DEVELOPER PROGRAM LICENSE...
    念念不忘的阅读 13,565评论 5 6
  • 最初,那时孩子还小,不到一岁,冬季,在没有暖气的南方,总是湿冷湿冷的。 孩子就这样不出意外地生病了。 对于当妈不久...
    杨子今阅读 261评论 0 0
  • 每个人都有梦想, 从小,我们就想当科学家,想当医生 随着我们逐渐慢慢长大,我们的梦想也随着我们走向成熟的步伐不断改...
    yer萝卜阅读 519评论 0 1
  • 勿以善小而不为,你就是他的贵人 人生似水曲曲弯弯,世事如山重重叠叠。生活中,坎坷与诱惑并存,我们之所以能一路向前,...
    芸城旭阅读 411评论 0 0