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.
0 ≤ x
, y
< 231.
问题描述:汉明距离就是两个整数的二进制表示之中,相同位置上数字不同的位的个数
解决思路:可以先把两个整数用异或操作,然后统计结果的二进制表示中1的数目的个数,即答案
class Solution {
public:
int hammingDistance(int x, int y) {
int temp = x^y;
int count = 0;
while(temp != 0){
if(temp%2==1){
count++;
}
temp = temp / 2;
}
return count;
}
};