【LeetCode-easy-7-Reverse Integer】-python

1158 ワード

PROBLEM
Given a 32-bit signed integer, reverse digits of an integer.
EXAMPLES
Input: 123
Output:  321
Input: -123
Output: -321
Input: 120
Output: 21

テーマ解析
タイトルは32ビットの整数を逆転することで、pythonでは実現が非常に容易で、配列の逆転を使用すればよい.注意しなければならないのは2点で、1逆転後の数字は32ビット整数の最大値より大きい可能性があります.②は逆転時のマイナス記号の処理です.①の処理方法は、2より大きい23乗または負の2より小さい23乗の場合、0を返す.②の処理方法はマイナス記号を外し、正数部分を逆さにして加えます.
CODE
class Solution:
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        if x >= 0:
            y = int(str(x)[::-1])
            if y <= pow(2, 31):
                return y
            else:
                return 0
        else:
            y = 0 - int(str(abs(x))[::-1])
            if y >= 0 - pow(2, 31):
                return y
            else:
                return 0