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;
            } }
} }   }

 

posted on 2018-09-06 13:21  邱二狗  阅读(876)  评论(0)    收藏  举报

导航