题目链接: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;
}

本文介绍了一个简单的算法来判断一个整数是否为2的幂次。通过将整数转换为二进制形式并检查其是否只有一个高位为1而其余位均为0来实现。这种方法对于解决LeetCode上特定问题非常有效。

857

被折叠的 条评论
为什么被折叠?



