本文主要是介绍[Leetcode]231. Power of Two,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Given an integer, write a function to determine if it is a power of two.
麻烦一点的话,用循环来判断。
class Solution {
public:bool isPowerOfTwo(int n) {if(n<=0)return false;while(n){if(n%2!=0){if(n==1)return true;elsereturn false;}elsen/=2;}return true;}
};
这里有个简单方法,如果n是2的幂,则n的二进制表示形式中只有1个1,通过移位,从N&(N-1)来判断。
class Solution {
public:bool isPowerOfTwo(int n) {return n > 0 && ((n & (n - 1)) == 0 );}
};
这篇关于[Leetcode]231. Power of Two的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!