7.逆整数[REVERSE整数

説明

32ビット符号付き整数、整数の逆の数字を与えられました。

、あなたはそれぞれ反転でこの整数を32ビット符号付き整数必要与える
我々は、32ビット符号付き整数、[-231、231のその値の範囲を格納することができる環境があるとし--1]。整数オーバーフローの後、それは0を返し、逆ならば、この仮説によるとしてください。


ここに画像を挿入説明
のアイデア

++、Pythonはモジュロ%シンボル、パイソン、同じCではないですので、C ++はモジュロです。%Aは負の数、及びモジュロ剰余異なります。だから、正と負のポイントへのpythonは、C ++に直接従事する

答え

  • パイソン
    def reverse(self, x: int) -> int:
        MAX = 2**31-1
        MIN = -2**31
        num=0
        
        flag = 1
        if x<0:
            flag = -1
            x=-1*x
            
        while x:#到0了就结束
            num=num*10+x%10
            x = int(x/10)
            
        num = num*flag
        
        return 0 if num>MAX or num<MIN else num
  • C ++
    int reverse(int x) {
        long num=0;//可能会超过范围,所以为Long

        while (x)//x可为正或负,知道为0
        {
            num = num*10+x%10;
            x /= 10;
        }
        
        return (num>INT_MAX || num<INT_MIN)? 0: num;
    }
公開された78元の記事 ウォン称賛7 ビュー10000 +

おすすめ

転載: blog.csdn.net/puspos/article/details/102964728