「刷刷刷」231. 2 的幂

题目

难度:简单

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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/power-of-two

思路

已知:

  • 如果一个数是 2 的幂,那它的二进制只有一个 1。
  • 位运算,去除二进制数最后一个 1 的方法:x & (x - 1)。

所以,可以判断该数去除末尾的 1 之后是否等于0。

代码

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

作者:prik
永久链接: https://trzoey.github.io/blog-prik/algorithmic/231.power-of-two/
转载请注明出处,谢谢合作💓。