LeetCode-693. 交替位二進(jìn)制數(shù)

題目描述 交替位二進(jìn)制數(shù)

給定一個(gè)正整數(shù),檢查他是否為交替位二進(jìn)制數(shù):換句話說(shuō),就是他的二進(jìn)制數(shù)相鄰的兩個(gè)位數(shù)永不相等。

示例

輸入: 5
輸出: True
解釋:
5的二進(jìn)制數(shù)是: 101

解題思路

轉(zhuǎn)自
先將n右移兩位,再和原來(lái)的n亦或,得到的新n其實(shí)就是除了最高位,其余都是0的數(shù),然后再和自身減1的數(shù)相‘與’,如果是0就返回true,反之false。比如n是10101,那么n/4是101,二者相‘亦或’,得到10000,此時(shí)再減1,為1111,二者相‘與’得0

代碼

    bool hasAlternatingBits(int n) {
        return ((n ^= n / 4) & (n - 1)) == 0;
    }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 這個(gè)不錯(cuò)分享給大家,從扣上看到的,就轉(zhuǎn)過(guò)來(lái)了 《電腦專(zhuān)業(yè)英語(yǔ)》 file [fail] n. 文件;v. 保存文...
    麥子先生R閱讀 7,131評(píng)論 5 24
  • 一、Python簡(jiǎn)介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡(jiǎn)介】: Python 是一個(gè)...
    _小老虎_閱讀 6,356評(píng)論 0 10
  • 1. file n. 文件;v. 保存文件2. command n. 命令指令3. use v. 使用用途4. p...
    喵嗚Yuri閱讀 834評(píng)論 0 4
  • 網(wǎng)站亂碼問(wèn)題我們會(huì)經(jīng)常碰到,大多見(jiàn)于非英文的中文字符或其他字符亂碼,而且,這類(lèi)問(wèn)題常常是因?yàn)榫幋a方式問(wèn)題,主要原因...
    波段頂?shù)?/span>閱讀 3,349評(píng)論 1 9
  • 作為一個(gè)輪轉(zhuǎn)生的節(jié)操 就是超多的兩頭班 早上四小時(shí)晚上四小時(shí) 個(gè)人倆頭班作息: 零點(diǎn)睡五點(diǎn)起 一天吃?xún)深D 第一餐五...
    廿小闕閱讀 227評(píng)論 0 0

友情鏈接更多精彩內(nèi)容