Skip to content

Latest commit

 

History

History
44 lines (39 loc) · 841 Bytes

231md.md

File metadata and controls

44 lines (39 loc) · 841 Bytes

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