首页 > 其他 > 详细

力扣(LeetCode)2的幂 个人题解

时间:2019-02-15 21:45:37      阅读:208      评论:0      收藏:0      [点我收藏+]

给定一个整数,编写一个函数来判断它是否是 2 的幂次方。

示例 1:

输入: 1
输出: true
解释: 20 = 1

示例 2:

输入: 16
输出: true
解释: 24 = 16

示这题是考察数学的问题了。用位运算可以快速解决完问题。2的幂的二进制形式永远是 10 100 1000 10000的形式出现的,而通过二进制中与的特性可以得知 10 & 01 = 00,100 & 011 =000

那么就可以通过n与n-1的与运算,便捷得得到答案。

代码如下:

class Solution {
    public boolean isPowerOfTwo(int n) {
        return n>0 && (n&n-1)==0;
    }
}

 

力扣(LeetCode)2的幂 个人题解

原文:https://www.cnblogs.com/axiangcoding/p/10386096.html

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