首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

LeetCode 231 Power of Two:位運算判斷 2 的冪

     編輯:關於C++

題目簡介

判斷整數 n 是否為 2 的冪次方(即 n = 2^k, k≥0)。

解題思路

2 的冪在二進制中只有最高位為 1,其餘為 0。因此 n & (n-1) == 0 且 n > 0 即為充要條件。例如 8=1000, 7=0111,& 結果為 0。

代碼實現

public boolean isPowerOfTwo(int n) {
    return n > 0 && ((n & (n - 1)) == 0);
}

複雜度分析

常數時間 O(1),常數空間 O(1)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved