1. 程式人生 > >Leetcode(三) 整數反轉

Leetcode(三) 整數反轉

題目描述:

給出一個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。

注意:

假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 [−231,  231 − 1]。請根據這個假設,如果反轉後整數溢位那麼就返回 0。

解題思路:

整數轉字串,反轉字串,然後再轉成整數。

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