一天一道LeetCode
本系列文章已全部上传至我的github,地址:ZeeCoder‘s Github
欢迎大家关注我的新浪微博,我的新浪微博
欢迎转载,转载请注明出处
(一)题目
Given an integer, write a function to determine if it is a power of two.
(二)解题
题目大意:判断一个数是不是2的n次方。
解题思路:从二进制位运算来看,2的n次方是诸如0001,0010,0100,1000….等数,所以采用位运算,n&(n-1)如果为0表示是2的n次方,否则不是。
class Solution {
public:
bool isPowerOfTwo(int n) {
return n<=0?false:!(n&(n-1));
}
};