LeetCode 231. Power of Two

題目

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

翻譯

判斷一個整數是否是2的次方數。

思路

只要n大於3不斷的將輸入值n除2,如果發現餘數不等於0,那他就不是2的次方數。

解題

/**
 * @param {number} n
 * @return {boolean}
 */
var isPowerOfTwo = function(n) {
    if(n <= 0) return false;
    if(n === 1) return true;
    while(n>3){
        if(n%2 != 0) return false; 
        n = parseInt(n/2);
    }
    return n%2 === 0;
};

Plus

例用javascript的特性,稍為改寫一下,增加效能

/**
 * @param {number} n
 * @return {boolean}
 */
var isPowerOfTwo = function(n) {
    if(n <= 0) return false;
    if(n === 1) return true;
    while(n>5){
        n = n/2;
    }
    return n%2 === 0;
};

results matching ""

    No results matching ""