7.Reverse Integer(python 3実装)


Given a 32-bit signed integer, reverse digits of an integer.
Example 1:
Input: 123 Output: 321 Example 2:
Input: -123 Output: -321 Example 3:
Input: 120 Output: 21 Note: Assume we are dealing with an environment which could only store integers within the 32-bit signed integer range: [−231, 231 − 1]. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.
class Solution:
    def reverse(self, x: int) -> int:
        flag=0
        if x<0:
            flag=1
        x=abs(x)
        li=list(str(x))
        li.reverse()
        y=int(''.join(li))
        if flag==1 and y<2**31:
            return -y
        elif flag==0 and y<2**31-1:
            return y
        else:
            return 0

abs(x)関数は、数値の絶対値データ型の変換を返す:listとintはint->str(x)、xはint型str->int:x=int(s)、sはstr->list:list->str:'.join(li) list.reverse()関数は、値を返さない逆リストの要素に使用されますが、リストの要素を逆ソートstr.join(sequence)して、文字接続シーケンスの要素を指定した後に生成された新しい文字列を返します.