leetcode刷題-----7. 整數反轉

題目:

給出一個 32 位的有符號整數,你須要將這個整數中每位上的數字進行反轉。網絡

  • 示例 1:

    輸入: 123
    輸出: 321code

  • 示例 2:

    輸入: -123
    輸出: -321leetcode

  • 示例 3:

    輸入: 120
    輸出: 21字符串

注意:get

假設咱們的環境只能存儲得下 32 位的有符號整數,則其數值範圍爲 [−231, 231 − 1]。請根據這個假設,若是反轉後整數溢出那麼就返回 0。io

來源:力扣(LeetCode)
連接:https://leetcode-cn.com/probl...
著做權歸領釦網絡全部。商業轉載請聯繫官方受權,非商業轉載請註明出處。class

解答:

class Solution(object):
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        max0 = 2**31-1
        min0 = -(2**31)
        symbol = True
        if x > max0 or x < min0:
            return 0
        if x < 0:
            symbol = False
            x = -x
        int_x = str(x)
        raw = int_x[::-1]
        raw = int(raw)
        if raw > max0:
            return 0
        if not symbol:
            return -raw
        return raw

關鍵:object

  1. 將整數轉換爲字符串進行切片反轉
  2. 注意溢出
  3. 注意符號
相關文章
相關標籤/搜索