[LeetCode][Python]231. Power of

2017-06-25  本文已影响62人  bluescorpio

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

解题思路:

看起来很简单的一道题,竟然一开始没有任何思路。不过看了提示还是自己又忘记了n&(n-1)。(n&(n-1))==0的含义,n的最高有效位为1,其余位为0。因此,n的值是2的某次方。所以,(n&(n-1))==0检查n是否为2的某次方(或者检查n是否为0)

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
class Solution(object):
    def isPowerOfTwo(self, n):
        """
        :type n: int
        :rtype: bool
        """
        return (n>0 and n&(n-1)==0)
上一篇下一篇

猜你喜欢

热点阅读