Power of Two
Given an integer, write a function to determine if it is a power of two.
Credits:
Special thanks to @jianchao.li.fighter for adding this problem and creating all test cases.
2的次幂的特征就是,二进制表示中只有一位是1.
乘以2相当于左移一位,因此2^k的二进制相当于把1(2^0)向左移动k次
class Solution { public: bool isPowerOfTwo(int n) { if(n <= 0) return false; return (n & (n-1)) == 0; } };