/**
* 整数反转
*
* User: hihone
* Date: 2019/2/2
* Time: 09:44
* Description:
* 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
*/
function reverse($x)
{
if (is_null($x)) return '';
$xx = 1;
if ($x < 1) $xx = -1;
#去掉末尾0
$x = rtrim($x, '0');
$len = strlen($x) - 1;
$x1 = '';
while ($len >= 0) {
$x1 .= $x[$len];
$len--;
}
$X = $x1 * $xx;
if ($X > pow(2, 31) - 1 || $X < pow(-2, 31)) $X = 0;
return intval($X);
}
$x = -123450;
echo reverse($x);
网友评论