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