191. Number of 1 Bits
Total Accepted: 65438 Total Submissions: 172909 Difficulty: EasyWrite a function that takes an unsigned integer and returns the number of ’1' bits it has (also known as the Hamming weight).
For example, the 32-bit integer ’11' has binary representation 00000000000000000000000000001011
, so the function should return 3.
Credits:
Special thanks to @ts for adding this problem and creating all test cases.
Subscribe to see which companies asked this question
Hide Tags Bit Manipulation Hide Similar Problems (E) Reverse Bits (E) Power of Two//思路理清楚:首先這個數是正整數,題目說的很清楚 //一定情況:那麼只要這個數不為0,他就有1 //每次循環減少一個二進制最左邊的1 ---》n=n&n-1 //比如有5個1,則循環5次(減少5次) class Solution { public: int hammingWeight(uint32_t n) { int cnt=0; while(n) { cnt++; n=n&n-1;//減少一個二進制中最左邊的1 } return cnt; } };