要求:
1. 函数名reverse_integer,参数为一个整数int,返回值也是int;
2. 函数功能将传入的整数参数反序;如传入12,返回值就是21;
3. 如果使用脚本语言,不能利用语言的特性,来实现这个功能;要纯粹靠编码来实现,不能借助任何外界的支持;
比如不能用python这样实现
def reverse_integer(num):
i = int(num)
s = str(i)[::-1]
return int(s)
这里的整数转换字符串,和反转字符串,字符串转换整数都是依赖于python的语法特性实现的。
4. 尽可能的高效;
/**
* @param int
* @return int
*/
function reverse_integer($num){
if(!is_int($num)) return 'error in type';
$remainder = 0;//余数
$res = 0;
while($num > 9){
$remainder = $num%10; //获取余数
$num = ($num-$remainder)/10;//初始化传进来的变量
$res = $res*10+$remainder;
}
return $res*10+$num;
}
echo reverse_integer(10102);
没有考虑最大int,若需要考虑最大int限制可以用下PHP_INT_MAX 做下判断
忽略了一点....负数也是int类型 php7已经有了PHP_INT_MIN最小int值,如果用的不是php7版本可以采用绝对值