[LeeCode]Power of Two

2638 ワード

Given an integer, write a function to determine if it is a power of two.
My initial code:
 1 class Solution:

 2     # @param {integer} n

 3     # @return {boolean}

 4     def isPowerOfTwo(self, n):

 5         if n==0 :

 6             return False

 7         if n==1 or n==2:

 8             return True

 9         if n % 2 != 0:

10             return False

11         if n < 4 and n 

12         return self.isPowerOfTwo(n/2)

 
After google the internet, the best solution is:
class Solution:

    # @param {integer} n

    # @return {boolean}

    def isPowerOfTwo(self, n):

        if n<= 0 or n&(n-1) != 0:

            return False

        return True