一.题目信息
二、题解
如果一个数是2的n次幂,那么它首先一定是一个正整数,并且在它的二进制中只有最高位是1,其余都是0。假设这个数是n是二的幂,它的二进制只有最高位是1,那么n-1它的二进制就是都是1,我们使用按位与运算
让n&(n-1)如果等于0,那么它一定就是2的n次幂。
三、代码实现
class Solution {
public boolean isPowerOfTwo(int n) {
return n>0 &&(n&(n-1))==0;
}
}
四、其他题目分享
怎么把i am a student逆置成student a am i?面试题逆置字符串讲解
什么?动态规划10行求出连续子数组的最大和 剑指offer-42讲解
剑指 Offer 39. 数组中出现次数超过一半的数字 简单易懂14行搞定 。人人皆可会
LeetCode 24:两两交换链表中的节点,1662. 检查两个字符串数组是否相等
剑指 Offer 58 - II. 左旋转字符串的三种解法一起看看吧!!