1. 程式人生 > >LeetCode - 231. Power of Two

LeetCode - 231. Power of Two

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

Example 1:

Input: 16
Output: true

Example 2:

Input: 5
Output: false
判斷一個數是否為2的次冪,偶然發現3年前做這道題就是很簡單的迴圈對2取餘整除。順手用位運算寫了一行程式碼又提交了一次。效率提升了200多倍。
public boolean isPowerOfTwo(int n) {
    return n > 0 && (n & (n - 1)) == 0;
}

原理參考這篇部落格的技巧部分。