位運算 簡單 693 交替位二進位制數

2021-10-25 20:46:44 字數 1011 閱讀 9178

【題目】

給定乙個正整數,檢查它的二進位制表示是否總是 0、1 交替出現:換句話說,就是二進位制表示中相鄰兩位的數字永不相同。

【示例 1】

輸入:n = 5

輸出:true

解釋:5 的二進位制表示是:101

【示例 2】

輸入:n = 7

輸出:false

解釋:7 的二進位制表示是:111.

【示例 3】

輸入:n = 11

輸出:false

解釋:11 的二進位制表示是:1011.

【示例 4】

輸入:n = 10

輸出:true

解釋:10 的二進位制表示是:1010.

【示例 5】

輸入:n = 3

輸出:false

【提示】

1 <= n <= 231 - 1

【**】

【python】

class

solution

:def

hasalternatingbits

(self, n:

int)

->

bool

: s=

bin(n)[2

:]for i in

range(1

,len

(s))

:if s[i]

==s[i-1]

:return

false

return

true

class

solution

:def

hasalternatingbits

(self, n:

int)

->

bool

:

x=(n^(n>>1)

)return x&

(x+1)==

0

693 交替位二進位制數 簡單

題目 於力扣 leetcode 目錄三 實現 四 執行用時 五 部分測試用例 693.交替位二進位制數 記錄下數值二進位制位的最低位 迴圈獲取數值二進位制位的最低位,判斷當前獲取的最低位,是否與之前記錄的最低位相同 相同時,返回 false,說明非交替位 不同時,更新最低位的變數為當前最低位,繼續判...

693 交替位二進位制數

題目描述 給定乙個正整數,檢查他是否為交替位二進位制數 換句話說,就是他的二進位制數相鄰的兩個位數永不相等。示例 1 輸入 5 輸出 true 解釋 5的二進位制數是 101 示例 2 輸入 7 輸出 false 解釋 7的二進位制數是 111 示例 3 輸入 11 輸出 false 解釋 11的二...

LeetCode 693 交替位二進位制數

給定乙個正整數,檢查他是否為交替位二進位制數 換句話說,就是他的二進位制數相鄰的兩個位數永不相等。交替位二進位制數 step1 十進位制轉換成二進位制,除二取餘。step2 把這次的餘數 i 與下次的餘數 j 進行比較,若相等返回false bool hasalternatingbits int n...