leetcode231.Power of Two
题目要求
1 | Given an integer, write a function to determine if it is a power of two. |
判断一个整数是否是2的幂。
思路和代码
当我们从二进制的角度来看,这个题目就非常简单了。其实题目的要求等价于该整数对应的二进制数中,一共有几个1。该题目的难点在于考虑边界情况,比如-2^32,即10000000000000000000000000000000。虽然它只有一个1,但是它不是2的幂。
代码如下:
1 | public boolean isPowerOfTwo(int n) { |