首页 > 其他 > 详细

LeetCode 231: Power of Two

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

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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!