1. 程式人生 > >[leetcode]顛倒整數

[leetcode]顛倒整數

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]顛倒整數