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

[编程题] lk [231. 2的幂]

时间:2020-07-30 22:00:29      阅读:68      评论:0      收藏:0      [点我收藏+]

标签:lazy   lang   pow   img   循环   block   image   方法   str   

[编程题] 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的幂]

标签:lazy   lang   pow   img   循环   block   image   方法   str   

原文地址:https://www.cnblogs.com/jiyongjia/p/13406186.html

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