题目原址
https://leetcode.com/problems/power-of-two/description/
题目描述
Given an integer, write a function to determine if it is a power of two.
解题思路
这个题很简单,就是求解一个数是不是2的幂数。主要是注意两个临界点,一个是n =1
和n = 0
。通过for循环来判断一个数是否是2的幂数,判断的条件是:如果n余2的值等于0,就说明它可能是2的幂数,在循环里用2除n,同时判断循环条件,如果n等于1,则返回true。如果没有这个判断条件,循环会进入死循环
AC代码
class Solution {
public boolean isPowerOfTwo(int n) {
if(n == 1 )
return true;
if(n == 0)
return false;
while(n % 2 == 0) {
n = n / 2;
if(n == 1)
return true;
}
return false;
}
}