28 - Easy - 颠倒整数

给定一个 32 位有符号整数,将整数中的数字进行反转。

示例 1:

输入: 123
输出: 321
示例 2:

输入: -123
输出: -321
示例 3:

输入: 120
输出: 21
注意:

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

class Solution:
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        s = str(x)
        if s[0] == "-":
            r = "-" + s[1:][::-1]
        else:
            r = s[::-1]
        r = int(r)
        if r > 2**31 or r < -(2**31):
            r = 0
        return r

不适用str(), int()

class Solution:
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        _list = []
        negative = False
        if x < 0:
            x = -x
            negative = True
        while x > 0:
            _list.append(x%10)
            x = x // 10
        multi = 1
        num = 0
        for i in _list[::-1]:
            num = num + (i * multi)
            multi *= 10
        num =  num if not negative else -num
        if num > 2**31-1 or num < -(2**31):
            return 0
        return num
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容