2、Reverse Integer

来源:互联网 发布:快递员怎么找淘宝客户 编辑:程序博客网 时间:2024/06/05 16:44

Reverse digits of an integer.

Example1: x = 123, return 321
Example2: x = -123, return -321

click to show spoilers.

Note:
The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.


class Solution(object):
    def reverse(self, x):
        if x == 0:
            return 0
        flag = 1
        if x < 0:
            flag = -1 
        x = abs(x)
        temp = x
        bit_num = 0
        while(temp > 0):
            temp = temp / 10
            bit_num = bit_num + 1
        bit_array = [0] * bit_num
        bit_index = 0
        while(x > 0):
            bit_array[bit_index] = x / (pow(10,bit_num -1))
            x = x % pow(10,bit_num-1)
            bit_num = bit_num - 1
            bit_index = bit_index + 1
        result = 0
        for i in range(0,bit_index):
            result = result + bit_array[i]*pow(10,i)
        if isinstance(result,int):
            result = result*flag
            return result
        return 0
        
        """x
        :type x: int
        :rtype: int
        """