LeetCode算法笔记–Day27
231. 2的幂
题目:
给定一个整数,编写一个函数来判断它是否是 2 的幂次方。
示例1:
输入: 1
输出: true示例2:
16
输出: true
我的解答:
观察2^0、2^1、2^2……2^n,它们的二进制表示为1、10、100、1000、10000……
判断一个数是否是2的n次幂,也就是判断二进制表示中是否只有一位是1且在最前面那位的位置。
例如n=00010000,那n-1=00001111,n&(n-1)==0
1 | /** |