ARTS第二周
Algorithm
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:
输入: 123
输出: 321
示例 2:
输入: -123
输出: -321
示例 3:
输入: 120
输出: 21
注意:
假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
class Solution {
/**
* @param Integer $x
* @return Integer
*/
function reverse($x) {
$str = '';
if($x >= 0) {
$x = (string) $x;
$length = strlen($x);
for($i=$length-1; $i >= 0; $i--) {
$str .="{$x[$i]}";
}
if($str != 0){
$str = trim($str, 0);
}
if($str > pow(2, 31) -1) {
return 0;
}
return $str;
}else{
$x = (string)$x;
$x = str_replace('-', '', $x);
$length = strlen($x);
for($i=$length-1; $i >= 0; $i--) {
$str .= "{$x[$i]}";
}
$str = trim($str, 0);
if($str > (pow(2, 31) -1)) {
return 0;
}
return '-'. $str;
}
}
}
下面是leetcode上面跑的最块的写法
class Solution {
/**
* @param Integer $x
* @return Integer
*/
function reverse($x) {
$pow = pow(2, 31);
$numn = (int)strrev(abs($x));
$numn=$x < 0 ?-$numn : $numn;
if ($numn < -$pow || $numn > $pow-1) {
$numn = 0;
}
return $numn ?? 0;
}
}
Review
https://medium.com/@dennissmink/laravel-include-your-own-helper-functions-8e744ca66e4f
Tip
phpstorm 选中一段代码 按住 ctrl+alt+l 执行代码格式化
Share