7. 整数反转

7. 整数反转

给出一个 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) {
        if (!is_int($x)) return 0;
        $res = 0;
        $max = pow(2, 31) - 1;
        $min = pow(-2, 31);
        while ($x != 0) {
            $diff = $x % 10;
            $x = ($x - $diff) / 10;
            $res = $res * 10 + $diff;
        }
        if ($res > $max) return 0;
        if ($res < $min) return 0;
        return $res;
    }
}

本文链接:https://itarvin.com/detail-109.aspx

登录或者注册以便发表评论

登录

注册