leetcode 191 Number of 1 Bits(难易度:Easy)

来源:互联网 发布:驾驶远程教育及时软件 编辑:程序博客网 时间:2024/05/16 17:12

Number of 1 Bits

Write a function that takes an unsigned integer and returns the number of ’1' bits it has (also known as theHamming weight).

For example, the 32-bit integer ’11' has binary representation 00000000000000000000000000001011, so the function should return 3.

代码:

解法一:

int hammingWeight(uint32_t n) {    int count = 0;    unsigned int flag = 1;    while (flag)    {        if(n & flag)            count ++;        flag = flag << 1;    }    return count;}

解法二:

int hammingWeight(uint32_t n) {    int count = 0;    while (n)    {        ++ count;        n = (n - 1) & n;    }    return count;}
原题地址:https://leetcode.com/problems/number-of-1-bits/


0 0
原创粉丝点击