[编程题] lk [231. 2的幂]
Posted jiyongjia
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[编程题] lk [231. 2的幂]相关的知识,希望对你有一定的参考价值。
[编程题] lk 231. 2的幂
题目
输入输出
方法1:位运算
//方法3:使用位运算消除1
/*思想:如果是2的n次方,那么它的二进制肯定是0000000100000这种样子,其中是只有一个1(有可能是0000001),我们用位运算消除一次,看能否消除为0,就判断是否是2的幂次方*/
public boolean isPowerOfTwo1(int n) {
return n>0 && (n & (n-1))==0;
}
方法2:循环取模
//一直模2
public boolean isPowerOfTwo(int n) {
if(n==0) {return false;}
while(n%2==0){
n = n/2;
}
return n==1;
}
以上是关于[编程题] lk [231. 2的幂]的主要内容,如果未能解决你的问题,请参考以下文章