程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> LeetCode 231:Power of Two

LeetCode 231:Power of Two

編輯:關於C++


Given an integer, write a function to determine if it is a power of two.

//題目要求:求一個數是否是2的冪次方
//解題方法:
//方法一:如果某個值是2的冪次方所得,其對應二進制則是最高位為1,其余位為0.
//n-1則相反,除了最高位,其余比特位均為1,則我們可以判斷n&(n-1)是否等於0來判斷n是否是2的冪次方值。
class Solution{
public:
	bool isPowerOfTwo(int n){
		if (n <= 0) return false;
		else
			return (n & (n - 1)) == 0;
	}
};

 

 

//方法二:循環利用n=n/2,根據n%2是否等於1,來判斷n是否為2的冪次方
class Solution{
public:
	bool isPowerOfTwo(int n){
		if (n <= 0) return false;
		while (n){
			if (n % 2 != 0 && n != 1) 
				return false;
			n = n / 2;
		}
		return true;
	}
};
\

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved