leetcode231 判断一个给定的整数是否是2的n次幂
发布日期:2025-04-05 03:23:22 浏览次数:8 分类:精选文章

本文共 397 字,大约阅读时间需要 1 分钟。

如何判断一个数是否是2的N次幂?

判断一个数是否为2的N次幂,可以参考以下方法:

  • 边界条件检查

    如果一个数小于等于零,那么它显然不是2的N次幂。2的N次幂始终是一个正数。

  • 二进制判别方法

    2的N次幂在二进制表示中具有以下特征:

    • 最低有效位(LSB)为1。
    • 其余各位都为0。

    例如,2^0 = 1(二进制:1)

    2^1 = 2(二进制:10)
    2^2 = 4(二进制:100)
    2^3 = 8(二进制:1000)

    通过这种形式,可以看出,2的N次幂的二进制表示中只有一个1,其余为0。因此,可以通过以下公式实现判断:

    public boolean isPowerOfTwo(int n) {      return n > 0 && (n & (n - 1)) == 0;  }
  • 以上代码通过位运算实现了对2的N次幂的检测。如果n大于0并且n与n-1的按位与运算结果为0,则n一定是2的某个次幂。

    上一篇:leetcode238-除自身以外数组的乘积
    下一篇:leetcode23-合并K个升序链表

    发表评论

    最新留言

    关注你微信了!
    [***.104.42.241]2025年05月01日 21时52分53秒