一、问题描述

二、解题思路
采用位运算的思想来解决这个问题,首先,将x和y进行异或,x和y对应二进制位不同就会得到1,然后统计所有1的个数,即为汉明距离。
三、代码实现
时间复杂度:T(n)=O(n)
空间复杂度:S(n)=O(1)
cpp
class Solution {
public:
int hammingDistance(int x, int y) {
int r=x^y;
int count=0;
while(r){
count++;
r=r&(r-1);
}
return count;
}
};