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;
}
}
本頁面為一點點累積學習寫程式之路。
許多資訊不是正確、或只是自己看的懂得。
如果不小心點進來誤導了您,還真的不好意思。