✏Leetcode之PHP版题目解析(342. Power of Four)
✏描述
给个整数,判断是否是4的幂次方
✏题目实例
✏题目分析
题目让我们不使用递归或者循环,我们先使用循环或者递归实现一遍。
/**
* @param Integer $num
* @return Boolean
*/
function isPowerOfFour($num) {
while($num && $num%4==0){
$num =floor($num/4);
}
return $num==1;
}
想不循环和递归,那就需要找到规律,只要是4的幂次方的数,那么把它减去一之后都可以被3整除,调整一下就压榨成一行了。
/**
* @param Integer $num
* @return Boolean
*/
function isPowerOfFour($num) {
return $num>0 && !($num & ($num-1)) && ($num-1)%3==0;
}
转载链接:https://leetcode.cn/