码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode 231: Power of Two

时间:2015-07-06 19:50:52      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:leetcode   power of 2   

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


判断一个数是否是2的幂,判断方法主要依据2的N次幂的特点:仅有首位为1,其余各位都为0.

方法1: n & n-1 == 0

class Solution {
public:
    bool isPowerOfTwo(int n) {
        return (n>0) && (!(n&(n-1)));
    }
};

方法2: 判断n的二进制中1的个数

	bool isPowerOfTwo(int n) {
		int count = 0;
		while (n > 0)
		{
			count+=(n&0x01);
			n>>=1;
		}
		return count==1;
	}


版权声明:本文为博主原创文章,未经博主允许不得转载。

LeetCode 231: Power of Two

标签:leetcode   power of 2   

原文地址:http://blog.csdn.net/sunao2002002/article/details/46777615

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!