力扣之整数反转——7

问题

力扣之整数反转——7_第1张图片

解答

1.无脑菜鸡暴力算法

x转化为string然后reverse然后再转化为int,注意32位整数的约束条件。

class Solution:
    def reverse(self, x: int):
        if x<-2147483648 or x>2147483647:
            return 0
        else:
            a=abs(x)
            s=str(a)
            ss=list(s)
            ss.reverse()
            sss=''.join(ss)
            res=int(sss)
            if  x>0:
                if res>2147483647:
                    return 0
                else:
                    return res
            else:
                if res>2147483648:
                    return 0
                else:
                    return -res

调试结果:
力扣之整数反转——7_第2张图片

2.取余算法

class Solution:
    def reverse(self, x: int) -> int:
        flag = 1
        if x < 0:
            x = abs(x)
            flag = -1
        res = temp = 0
        while x:
            temp = x % 10
            x = x//10
            res = res*10 + temp
        result = flag*res
        return result if -2**31 < result < 2**31-1 else 0

调试结果:
力扣之整数反转——7_第3张图片

你可能感兴趣的:(力扣之整数反转——7)