LeetCode #231. Power of Three 判斷是否為二的次方

LeetCode #231. Power of Three

題目:輸入一個整數,判斷是不是二的次方。

 

1. if (num < 1) return false;  

2. //若是2N次方,則2N次方-1的2進制 & 上2N次方各位均為0  

3. //例: 8:1000  7 :0111   & 的结果为0  

4.return (num & num - 1) == 0;

private static bool GetFlag(int num)
        {
            if (num < 1) return false;
            return (num & num - 1) == 0;
        }

轉錄自 http://blog.csdn.net/poda_/article/details/50074655

以下是自己看的懂得方式,解leetcode #231. Power of Two

public class Solution
{
    public bool IsPowerOfTwo(int n)
    {
        if (n < 1)  // 如果數字原本就是0,不是二次方。
        {
             return false;
         }
         else if ((n & n - 1) == 0)  // n與n-1 & 後為0,則是二次方。
        {
             return true;
         }
          return true;
     }
}

本頁面為一點點累積學習寫程式之路。

許多資訊不是正確、或只是自己看的懂得。

如果不小心點進來誤導了您,還真的不好意思。