LeetCode-191-位1的個(gè)數(shù)

題目描述:編寫(xiě)一個(gè)函數(shù),輸入是一個(gè)無(wú)符號(hào)整數(shù)(以二進(jìn)制串的形式),返回其二進(jìn)制表達(dá)式中數(shù)字位數(shù)為 '1' 的個(gè)數(shù)(也被稱(chēng)為漢明重量)。
提示:
在 Java 中,編譯器使用二進(jìn)制補(bǔ)碼記法來(lái)表示有符號(hào)整數(shù)。因此,在上面的 示例 3 中,輸入表示有符號(hào)整數(shù) -3。
示例說(shuō)明請(qǐng)見(jiàn)LeetCode官網(wǎng)。
來(lái)源:力扣(LeetCode) ??
鏈接:https://leetcode-cn.com/problems/number-of-1-bits/ ??
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
解法一:遍歷
首先,用
Integer.toBinaryString(num)
方法將n轉(zhuǎn)化為二進(jìn)制字符串binaryString;然后,遍歷字符串binaryString的每一個(gè)字符,判斷當(dāng)前字符是否是'1',如果是,則將result加1;
最后返回result即為二進(jìn)制位中1的個(gè)數(shù)。
【每日寄語(yǔ)】 生活如雨,請(qǐng)撐傘原諒!待到雨過(guò)天晴,它會(huì)還你一片藍(lán)天,贈(zèng)你一道彩虹。
標(biāo)簽: