leedcode461:Hamming Distance

来源:互联网 发布:手机淘宝取消私人定制 编辑:程序博客网 时间:2024/04/30 23:29

The Hamming distance between two integers is the number of positions at which the corresponding bits are different.

Given two integers x and y, calculate the Hamming distance.

Note:
0 ≤ xy < 231.

Example:

Input: x = 1, y = 4Output: 2Explanation:1   (0 0 0 1)4   (0 1 0 0)       ↑   ↑The above arrows point to positions where the corresponding bits are different.

题目解释:Hamming Distance 即为x、y二进制对应位不相同的个数。

解题思路:

x、y不相同的位进行异或运算后为1,再计算异或结果中1的个数,即可得到x、y的hamming Distance。

代码如下:

int hammingDistance(int x, int y) {    int count=0;    x=x^y;    while(x){        count++;        x=x&(x-1);    }    return count;}


0 0
原创粉丝点击