[LeetCode]Power of Two

题目描述:

Given an integer, write a function to determine if it is a power of two.

题目大意:

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

解题思路:

如果一个整数是2的幂,那么它的二进制形式最高位为1,其余各位为0

等价于:n & (n - 1) = 0,且n > 0

Python代码:

class Solution:
    # @param {integer} n
    # @return {boolean}
    def isPowerOfTwo(self, n):
        return n > 0 and n & (n - 1) == 0

 

本文链接:http://bookshadow.com/weblog/2015/07/06/leetcode-power-of-two/
请尊重作者的劳动成果,转载请注明出处!书影博客保留对文章的所有权利。

如果您喜欢这篇博文,欢迎您捐赠书影博客: ,查看支付宝二维码