693 交替位二進位制數 簡單

2022-01-18 07:59:16 字數 964 閱讀 2737

題目**於力扣(leetcode)

目錄三、**實現

四、執行用時

五、部分測試用例

693. 交替位二進位制數

記錄下數值二進位制位的最低位

迴圈獲取數值二進位制位的最低位,判斷當前獲取的最低位,是否與之前記錄的最低位相同

相同時,返回 false,說明非交替位

不同時,更新最低位的變數為當前最低位,繼續判斷

判斷某數的二進位制位是否是交替的

異或操作int a = n ^ (n >>> 1)

按位與操作a & (a + 1) == 0

某數的二進位制位是交替的,則結果一定為 0,不為 0 時說明二進位制位非交替位

693 交替位二進位制數

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

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

題目 給定乙個正整數,檢查它的二進位制表示是否總是 0 1 交替出現 換句話說,就是二進位制表示中相鄰兩位的數字永不相同。示例 1 輸入 n 5 輸出 true 解釋 5 的二進位制表示是 101 示例 2 輸入 n 7 輸出 false 解釋 7 的二進位制表示是 111.示例 3 輸入 n 11...

LeetCode 693 交替位二進位制數

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