Link

Easy Bit Manipulation

Nvidia

2020-05-28

231. Power of Two

Similar Question: LeetCode Question 191, LeetCode Question 338

Question:

Given an integer, write a function to determine if it is a power of two.

Example 1:

Input: 1
Output: true 

Example 2:

Input: 16
Output: true

Example 3:

Input: 218
Output: false

Solution:

If a number is a power of two, it must has only one digit with one. Thus, we can use x & (x-1) to decide how many 1 does the number have.

class Solution {
    public boolean isPowerOfTwo(int n) {
        return n > 0 && (n & (n - 1)) == 0;
    }
}