leetcode231 判断一个给定的整数是否是2的n次幂

2024-01-07 19:05:17

? ? ? ?先考虑边界条件,如果一个数小于等于零,那么肯定就不是2的N次幂

? ? ? ?解题思路:用二进制来判别,因为2的n次幂是低位为1,末尾全为0的形式,类似a10000...这种形式,那么n - 1 就是a011111...的形式,用N & N - 1的结果为零,即可判断出来。代码如下

? ? ? ?

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

文章来源:https://blog.csdn.net/weixin_41751625/article/details/135418903
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。