题目
给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。
如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。
示例 1:
输入:n = 1
输出:true
解释:20 = 1
分析
如果求余2不为0的能说明一定不是2的幂次方,处理好边界条件,通过递归不断缩小范围
public class powerofTwo {
public static void main(String[] args) {
System.out.println(powTwo(4));
}
public static boolean powTwo(int n) {
if(n == 1) {
return true;
}
if(n == 0 || n % 2 == 1) {
return false;
}
return powTwo(n / 2);
}
}