整数反转:
PHP 28ms:
首先设定数值范围,要处理的字符串数值在到
之间,如果测试用例为正,使用strrev反转字符串,测试用例为负,取绝对值反转然后*-1.时间复杂度为O(1),空间复杂度为O(1)。
class Solution {
function reverse($x) {
$po = pow(2,31);
$ppo = pow(-2,31)-1;
if(abs($x)>$po){
return 0;
}else{
if(intval($x)>=0){
$re = intval(strrev($x));
return $re>$po?0:$re;
}else{
$re = -1*intval(strrev($x));
return $re<$ppo?0:$re;
}
}
}
}
如果不用PHP的内置函数,个人认为可以使用栈来解题。先判断是否溢出,然后转换为数组,进行栈操作。