[leetcode]顛倒整數
阿新 • • 發佈:2018-05-16
def 如果 輸出 返回 數值 spa obj 假設 轉換
題目描述:
給定一個 32 位有符號整數,將整數中的數字進行反轉。
示例 1:
輸入: 123
輸出: 321
示例 2:
輸入: -123
輸出: -321
示例 3:
輸入: 120
輸出: 21
註意:
假設我們的環境只能存儲 32 位有符號整數,其數值範圍是 [?231, 231 ? 1]。根據這個假設,如果反轉後的整數溢出,則返回 0。
題目分析:
可以把int類型轉換為string類型,用切片法翻轉string,最後在轉換為int類型,註意最高位的正負號,為負數時要將負號保留,不能反轉到後面。
class Solution(object):
def reverse(self, x):
"""
:type x: int
:rtype: int
"""
if x is None:
return x
x_str = str(x)
if x_str[0] == "-":
x_str_tmp = x_str[1:]
x_int = int(x_str[0] + x_str_tmp[::-1])
else:
x_int = int(x_str[::-1])
if x_int < -2147483648 or x_int > 2147483648:
return 0
else:
return x_int
[leetcode]顛倒整數