【Leetcode】Python實現反轉整數
阿新 • • 發佈:2018-12-26
給定一個 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)