1. 程式人生 > >python入門習題——7,反轉整數(簡單)

python入門習題——7,反轉整數(簡單)

給定一個 32 位有符號整數,將整數中的數字進行反轉。

示例 1:

輸入: 123
輸出: 321

 示例 2:

輸入: -123
輸出: -321

示例 3:

輸入: 120
輸出: 21

注意:

假設我們的環境只能儲存 32 位有符號整數,其數值範圍是 [−2^31,  2^31 − 1]。根據這個假設,如果反轉後的整數溢位,則返回 0。

class Solution(object):
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        #首先判斷輸入的是不是int型別
        if(isinstance(x,int)):
            if(x<0):
                c = -x
                #先把int型別轉化為string,利用切片進行反轉
                a = str(c)[::-1]
                #之後將string轉換為int判斷是否超出限制範圍
                b = int(a)
                #return b
                if (b<=(2**31-1) and b>=(-2**31)):
                    return -b
                else:
                    return 0
                
            elif (x==0):
                return 0
            else:
                c = x
            
                #先把int型別轉化為string,利用切片進行反轉
                a = str(c)[::-1]
                #之後將string轉換為int判斷是否超出限制範圍
                b = int(a)
                #return b
                if (b<=(2**31-1) and b>=(-2**31)):
                    return b
                else:
                    return 0
        else:
            return "請輸入整數"
            
                        
#主函式    
if __name__ == "__main__":
    a = 1534236469
    c = Solution()
    print(c.reverse(a))