Leetcode : 342. 4的幂

342. 4的幂

给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。

示例 1:

输入: 16
输出: true
示例 2:

输入: 5
输出: false

位运算, 先判断是否为2的幂,然后在判断在二进制的情况下,1在偶数位,还是在奇数位,从0开始,然后与0xaaaaaaaa相乘,因为0xaaaaaaaa是1010,所以&后是0,

class Solution {
public:
    bool isPowerOfFour(int num) {
             if(num<=0)
                  return false;
             if((num&(-num))!=num)
                  return false;
             if((num&0xaaaaaaaa)==0)
                  return true;
             return false;
    }
};
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读