关闭

LeetCode 231. Power of Two ---- 2的幂

标签: LeetCodec++二进制
83人阅读 评论(0) 收藏 举报
分类:

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

分析:当数为2的指数值时,其二进制可以表示为10000...。将n逐位向右移,统计二进制中1的个数,若只包含1个1,则为2的幂,否者不是。

class Solution {
public:
    bool isPowerOfTwo(int n) {
        if(n<1){
            return false;
        }
        int cnt=0;
        while(n){
            cnt+=n&0x01;
            n>>=1;
        }
        if(cnt!=1){
            return false;
        }
        return true;
    }
};


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5421次
    • 积分:302
    • 等级:
    • 排名:千里之外
    • 原创:26篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条
    文章分类