给定一个带符号整数,写一个函数判断它是否是4的幂
Example:
Given num = 16, return true. Given num = 5, return false.
进阶:
你能不用循环或者递归完成本题么?
1:累除4
循环
def isPowerOfFour(self, num):
"""
:type num: int
:rtype: bool
"""
if num <= 0:
return False
while num % 4 == 0:
num //= 4
return num == 1
递归
def isPowerOfFour(self, num):
"""
:type num: int
:rtype: bool
"""
if num <= 0:
return False
if num == 1:
return True
if num % 4 != 0:
return False
return self.isPowerOfFour(num // 4)
算法题来自:https://leetcode-cn.com/problems/power-of-four/description/