leetcode刷题-数学

leetcode-07.反转整数:

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

算法设计:

对输入x取绝对值,while遍历x,取x对10的余数加入result * 10,并每次while对x除10,最后得出result并乘上符号。

代码:

 def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        result = 0
        flag = 0
        if x < 0:
            x = - x
            flag = 1
        while x:
            a = x % 10
            result = result * 10 + a
            x = x / 10
        if result > 2**31 - 1 or result < -2**31 - 1:
            return 0
        else:
            if flag == 0:
                return result
            else:
                return -result

你可能感兴趣的:(Python)