LeetCode231
题目
给定一个整数,编写一个函数来判断它是否是 2 的幂次方。
示例 1:
输入: 1
输出: true
解释: 20 = 1
示例 2:
输入: 16
输出: true
解释: 24 = 16
示例 3:
输入: 218
输出: false
代码
久违的一遍过, 好耶! (其实是题目太简单了…
但其实这种方法并不是很快
其实如果学过计组的话用补码的知识会更快一些
如果不用的话其实我感觉我这种是最好理解的, 因为传进来的就是一个n
直接从2的1次方到31次方遍历判断过去感觉就好唉
class Solution {
public boolean isPowerOfTwo(int n) {
for(int i = 0; i < 32; i++){
if(Math.pow(2,i) == n){
return true;
}
}
return false;
}
}