342.4的幂
https://leetcode-cn.com/problems/power-of-four/
思路:一个数是4的幂,其1必然在偶数位上,且在最高位
技巧:
第一个条件:1在偶数位
用一个32位二进制mask和n与操作,mask每个奇数位为1,偶数位为0(最右边为第0位)。
与操作结果为0,说明n的奇数位没有1
第二个条件:最高位为1
根据
231.2的幂的解法,即判断二进制,看 n & (n-1) 是否为 0
最后更新于
https://leetcode-cn.com/problems/power-of-four/
思路:一个数是4的幂,其1必然在偶数位上,且在最高位
技巧:
第一个条件:1在偶数位
用一个32位二进制mask和n与操作,mask每个奇数位为1,偶数位为0(最右边为第0位)。
与操作结果为0,说明n的奇数位没有1
第二个条件:最高位为1
根据
231.2的幂的解法,即判断二进制,看 n & (n-1) 是否为 0
最后更新于