题目:
方法一:反转字符串
class Solution {
/**
* @param Integer $x
* @return Integer
*/
function reverse($x) {
$f = $x<0?true:false;
$x = $f?abs($x):$x;
$x = strval($x);
$res = intval(strrev($x));
$res = $f?-1*$res:$res;
if(-2147483648<$res && 2147483647>$res){
return $res;
}else{
return 0;
}
}
}
方法二:数学
<?php
class Solution {
/**
* @param Integer $x
* @return Integer
*/
function reverse($x) {
$val = abs($x);
if($val<10){
return $x;
}
$f = $x>0?false:true;
$num = 0;
while($val>9){
$res = $val%10;
$val = floor($val/10);
$num = $num*10+$res;
}
$num = $num*10+$val;
if($f){
$num*=-1;
}
if(-2147483648<$num && 2147483647>$num){
return $num;
}else{
return 0;
}
}
}
echo (new Solution)->reverse(-1246385);