【位运算-简单】231. 2的幂

【题目】
给定一个整数,编写一个函数来判断它是否是 2 的幂次方。
【示例 1】
输入: 1
输出: true
解释: 20 = 1
【示例 2】
输入: 16
输出: true
解释: 24 = 16
【示例 3】
输入: 218
输出: false
【代码】
【Python】
在这里插入图片描述

class Solution:
    def isPowerOfTwo(self, n: int) -> bool:
        return n&(n-1)==0 and n!=0

【方法2】
在这里插入图片描述

class Solution:
    def isPowerOfTwo(self, n: int) -> bool:
        dic=dict(Counter(bin(n)[2:]))
        return dic.setdefault('1',0)==1 and n>=0

【方法3:数字法】
在这里插入图片描述

class Solution:
    def isPowerOfTwo(self, n: int) -> bool:
        if n<=0:
            return False
        while n>1:
            if n%2:
                return False
            n//=2
        return True

猜你喜欢

转载自blog.csdn.net/kz_java/article/details/115074146