Leetcode 231 Power of Two
Given an integer, write a function to determine if it is a power of two.
Example 1:
Input: 1 Output: true Explanation: 20 = 1
Example 2:
Input: 16 Output: true Explanation: 24 = 16
Example 3:
Input: 218 Output: false
這個題目考察的為位運算,題目要求寫一個函式來判斷是不是二的冪,主要有兩種方法:
1)
/*
將整數和其相反數相與,效果即為只留下最左邊的一,如果為二的冪則字串中只有一個1,如果不是的話就有多個1
*/
class Solution {
public boolean isPowerOfTwo(int n) {
return n > 0 && (n & -n) == n;
}
}
2)
/*
這個方法為將最大的數相餘n,如果n為二的冪的話,那麼相餘之後必定為0,即可以判斷
/*
class Solution {
public:
bool isPowerOfTwo(int n) {
return n > 0 && (1 << 30) % n == 0;
}
};
相關文章
- Leetcode 231. Power of TwoLeetCode
- LeetCode 第 231 題 (Power of Two)LeetCode
- 【LeetCode 231_整數_位運算】Power of TwoLeetCode
- Leetcode Power of TwoLeetCode
- [LeetCode-231] Power of Two(判斷一個數是不是2的若干次冪)LeetCode
- Leetcode Two SumLeetCode
- Leetcode 1 two sumLeetCode
- Leetcode-Two SumLeetCode
- Two Sum leetcode javaLeetCodeJava
- leetcode 231 2的冪LeetCode
- [LeetCode]1.Two SumLeetCode
- LeetCode----1. Two SumLeetCode
- LeetCode 1.Two NumsLeetCode
- LeetCode1:Two SumLeetCode
- Leetcode Divide Two IntegersLeetCodeIDE
- Leetcode Add Two NumbersLeetCode
- [LeetCode]1. Two SumLeetCode
- LeetCode OJ : 1 Two SumLeetCode
- LeetCode-1 Two SumLeetCode
- LeetCode 第 342 題(Power of Four)LeetCode
- Leetcode 326. Power of ThreeLeetCode
- LeetCode 2 Add Two NumbersLeetCode
- LeetCode: Two sum(兩數之和)LeetCode
- Leetcode 29 Divide Two IntegersLeetCodeIDE
- python: leetcode - 1 Two SumPythonLeetCode
- LeetCode Problem-Sum of Two IntegersLeetCode
- [leetCode][013] Two Sum 2LeetCode
- Leetcode Merge Two Sorted ListsLeetCode
- Leetcode Median of Two Sorted ArraysLeetCode
- Leetcode-Divide Two IntegersLeetCodeIDE
- [LeetCode] Two Sum 兩數之和LeetCode
- Leetcode-Add Two NumbersLeetCode
- Add Two Numbers leetcode javaLeetCodeJava
- Divide Two Integers leetcode javaIDELeetCodeJava
- LeetCode 第 326 題 (Power of Three)LeetCode
- leetcode231 2的冪(JAVA版)LeetCodeJava
- leetcode-29. Divide Two IntegersLeetCodeIDE
- Leetcode 4 Median of Two Sorted ArraysLeetCode