#LeetCode:231. Power of Two

灆洢 2020-06-08 21:22:02

此題要求給予的數字是否為二的次方數。

由於要求的為二的次方數,故其如果使用 Bitwise 的表示法去表示該數字時,僅有一位數會為 1,所以只要求該數字與(該數字 – 1)做 AND 運算後,結果沒有任何一位數字留下來的話,即是答案。

Kotlin(152ms)

/*******************************************************
 * LeetCode 231. Power of Two                          *
 * Author: Maplewing [at] knightzone.studio            *
 * Version: 2020/06/08                                 *
 *******************************************************/
class Solution {
    fun isPowerOfTwo(n: Int): Boolean =
        (n > 0) && (n and (n - 1) == 0)
}

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料