lc面试准备:Number of 1 Bits

1 题目

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.

接口

public int hammingWeight(int n);

2 思路

统计出一个数用二进制表示的时候,里面'1'的个数。

Reverse Bits思路一样,位运算。

复杂度

Time: O(n)  Space: O(1)

3 代码

1     public int hammingWeight(int n) {

2         int res = 0;

3         for (int i = 0; i < 32; i++) {

4             final int bit = (n >> i) & 1;

5             res += bit;

6         }

7         return res;

8     }

4 总结

Reverse Bits思路一样。

参考

  1. leetcode
  2. Leetcode: Number of 1 Bits

你可能感兴趣的:(number)