题目链接:https://leetcode.com/problems/power-of-two/
题目:
Given an integer, write a function to determine if it is a power of two.
思路:
如果小于0,则不是2的n次幂。
否则则转为二进制,只有最高位为1,剩余为0的时候才是2的n次幂。
算法:
public boolean isPowerOfTwo(int n) {
if (n < 0)
return false;
String binary = Integer.toBinaryString(n);
char c[] = binary.toCharArray();
if (c[0] == '1') {
for (int i = 1; i < c.length; i++) {
if (c[i] != '0')
return false;
}
} else {
return false;
}
return true;
}