Leetcode 231. 2的幂(Python3)

231. 2的幂

给定一个整数,编写一个函数来判断它是否是 2 的幂次方。

示例 1:

输入: 1
输出: true
解释: 20 = 1

示例 2:

输入: 16
输出: true
解释: 24 = 16

示例 3:

输入: 218
输出: false

思想:位运算

该题就是考察位运算熟悉不熟悉

非位运算代码:

class Solution:
    def isPowerOfTwo(self, n):
        """
        :type n: int
        :rtype: bool
        """
        while n > 1:
            n /= 2
        return n == 1

位运算代码:

class Solution:
    def isPowerOfTwo(self, n):
        """
        :type n: int
        :rtype: bool
        """
        return n > 0 and not (n & (n - 1))

猜你喜欢

转载自blog.csdn.net/qq_38575545/article/details/85808191