美文网首页
php整数反转

php整数反转

作者: 博楠同学 | 来源:发表于2019-12-31 11:56 被阅读0次

    给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
    数值范围为 [−2的31次方, 2的31次方 − 1],反转后整数溢出返回0
    第一种方法:

    class Solution {
    
        /**
         * @param Integer $x
         * @return Integer
         */
        function reverse($x) {
            $prefix = '';
            if ($x<0) {
                $prefix = "-";
                $x = substr($x, 1);
            }
            $x = strrev($x);
            $x = intval($x);    
    
            if ($x > pow(2,31)-1) {
                 return 0;   
            }
            
            return (int)($prefix.$x);
        }
    }
    

    第二种方法:

    class Solution {
    
        /**
         * @param Integer $x
         * @return Integer
         */
        function reverse($x) {
            if (!is_int($x)) return 0;
            $tmp = 0;
            $max = pow(2, 31) - 1;
            $min = pow(-2, 31);
            while($x != 0) {
                $tmp = $tmp * 10 + $x % 10;
                $x = ($x-$x%10) / 10;
            }
            var_dump($tmp);
            if ($tmp > $max) return 0;
            if ($tmp < $min) return 0; 
            return $tmp;
        }
    }
    

    相关文章

      网友评论

          本文标题:php整数反转

          本文链接:https://www.haomeiwen.com/subject/iqeboctx.html