1. 程式人生 > >【Leetcode】Python實現反轉整數

【Leetcode】Python實現反轉整數

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

示例 1:

輸入: 123
輸出: 321

示例 2:

輸入: -123
輸出: -321

示例 3:

輸入: 120
輸出: 21

注意:

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

class Solution(object):
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
# 判斷是否為個位數,是個位數則不用反轉,直接返回 if -10 < x < 10: return x # 把整數x轉為字串 str_x = str(x) # 判斷第一個是否為負號 if str_x[0] != "-": # 不是負號則直接反轉 str_x = str_x[::-1] # str轉為int x = int(str_x) else: # 是負號,則反轉負號之後的字串
str_x = str_x[1:][::-1] # str轉int x = int(str_x) # 加上負號 x = -x # 三目運算子,判斷是否溢位 # 如果-2147483648 < x < 2147483647則返回x,否則返回0 return x if -2147483648 < x < 2147483647 else 0 if __name__ == '__main__': s = Solution() reverse_int = s.reverse(-120
) print(reverse_int)