5月 30, 2021

判断数是否为2的幂

解题思路:数大于0,并且数的二进制包含1个1 n&(n-1)去掉一个1之后==0即可判断 n & (-n)=n也可判断,因为-n的二进制是n 的二进制表示的每一位取反再加上 1 1<<30表示左移30位,相当于2的30次方(左移1位扩大1倍即乘以2),然后只要判断n是否为2^30的公约数,即模是否==0。 class Solution: def isPowerOfTwo… 阅读更多 »判断数是否为2的幂