力扣刷题记录及总结(Python3)第7题

 题目描述:

给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。

如果反转后整数超过 32 位的有符号整数的范围 [−231,  231 − 1] ,就返回 0。

假设环境不允许存储 64 位整数(有符号或无符号)。

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

class Solution:
    def reverse(self, x: int) -> int:
        a = []
        if (x > 0):
            sign = 1
        else :
            sign = -1
            x = x * (-1)
        while x >= 10:
            b = x % 10
            a.append(b)
            x = x // 10
        a.append(x)
        out = 0
        for i in range(0,len(a)):
            out = out * 10 + a[i]
        if out > 2 ** 31:
           return 0
        else:
           return (out * sign)

 

关键:输出的范围要用与2**31比较,判断大小

你可能感兴趣的:(力扣Python刷题,python,算法,数据结构,leetcode)