693 交替位二進位制數

2021-10-08 06:12:02 字數 818 閱讀 4330

題目描述:

給定乙個正整數,檢查他是否為交替位二進位制數:換句話說,就是他的二進位制數相鄰的兩個位數永不相等。

示例 1:

輸入: 5

輸出: true

解釋:5的二進位制數是: 101

示例 2:

輸入: 7

輸出: false

解釋:7的二進位制數是: 111

示例 3:

輸入: 11

輸出: false

解釋:11的二進位制數是: 1011

示例 4:

輸入: 10

輸出: true

解釋:10的二進位制數是: 1010

方法1:

主要思路:

(1)使用標誌數sign,初始值置為-1;

(2)當當前位為1,且sign現在為1,則說明重複了,返回false,否則將sign置為1;

(3)當當前位為0,且sign現在為0,則說明重複了,則返回false,否則將sign置為0;

(4)判斷完當前位後,將n右移1位,便於判斷下一位的情形,當n變化到0時,既為終止;

class

solution

else

n>>=1;

//右移n一位,便於後面判斷下一位的情形

}return

true

;//跳出迴圈,則說明滿足要求}}

;

693 交替位二進位制數 簡單

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

LeetCode 693 交替位二進位制數

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

C Leetcode693 交替位二進位制數

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