PHP(2)“反转整数”算法问题
原题目:给定一个 32 位有符号整数,将整数中的数字进行反转。
class test { public function a2($str) {
//定义 返回值num为0; $num = 0;
//将字符串转化成整型,其实有没有一样 $val = intval($str);
//如果输入值的绝对值小于10,直接返回 if(abs($val)<10) { $num = $str; echo $num; return $num; } else {
//如果输入值绝对值大于9,进行while循环 while (abs($val)>9) {
//定义一个临时变量temp,使temp等于输入值除以10的余数 $temp = intval($val) % 10;
//如果输入值是正数,向下取余;负数,向上取余 if ($val > 0 ) { $val = floor(intval($val)/10); } elseif ($val < 0) { $val = ceil(intval($val)/10); }
//求返回值num $num = $num * 10 + $temp;
//如果$val绝对值小于10,不能执行while循环了,所以在下面加个if判断,直接加上$val就好
if(abs($val)<10)
{
$num = $num * 10 + $val;
echo $num;
return $num;
} } } } }