整数反转

示例

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

示例 1:

输入: 123
输出: 321

示例 2:

输入: -123
输出: -321

示例 3:

输入: 120
输出: 21

注意:

假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。

题解

class Solution {

    /**
     * @param Integer $x
     * @return Integer
     */
    function reverse($x) {
        $l = strlen($x);
        $x = (string)$x;
        $y='';
        if ($x == 0) {
            $y = 0;
        } else {
            for($i=$l-1;$i>=0;$i--)
            {
                  $y.=$x[$i];
            }
            if (strpos($x, '-') !== false) {
                $y = preg_replace('/^0+/','',$y);
                $y = '-'.$y;
                $y = rtrim($y, '-');
            } else {
                $y = preg_replace('/^0+/','',$y);
            }
            if ($y > (pow(2,31)-1)) {
                $y = 0;
            } elseif ($y < pow(-2,31)) {
                $y = 0;
            }
        }
        return $y;
    }
}

本文由 一切随风 创作,可自由转载、引用,但需署名作者且注明文章出处。

8 条评论

  1. a0hk.cn
    a0hk.cn

    同城附近品茶a0dl.cn

  2. oiaxapdghc
    oiaxapdghc

    超人明日之子

  3. pwaotgmhmk
    pwaotgmhmk

    劫车王

  4. ozfrcakpqe
    ozfrcakpqe

    因果报应

  5. spfuwogrwk
    spfuwogrwk

    光年正传

  6. plsjoiwkec
    plsjoiwkec

    python教程

  7. hjjrotkcqr
    hjjrotkcqr

    谈判专家交渉人

  8. oiwiszggax
    oiwiszggax

    看的我热血沸腾啊https://www.237fa.com/

添加新评论