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;
}
}