LeetCode 191. Number of 1 Bits

191. Number of 1 Bits

Description Submission Solutions

  • Total Accepted: 137583
  • Total Submissions: 354498
  • Difficulty: Easy
  • Contributors: Admin

Write 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.

【题目分析】
给定一个无符号数,计算该数的二进制形式中包含的1的位数。
 
【思路】
用无符号右移动
public class Solution {
    // you need to treat n as an unsigned value
    public int hammingWeight(int n) {
        int count = 0;
        
        while(n != 0) {
            count += n & 1;
            n = n >>> 1;
        }
        
        return count;
    }
}
原文地址:https://www.cnblogs.com/liujinhong/p/6517867.html