一、题目链接
461. 汉明距离
二、题目简介
两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。
给你两个整数 x 和 y,计算并返回它们之间的汉明距离。
三、源码讲解
int hammingDistance(int x, int y) {
int z = x ^ y;
int res = 0;
while(z) {
if(z & 1) res++;
z >>= 1;
}
return res;
}
x和y异或,得到的二进制数里面的1就是不同的位数;
遍历右移z,如果是1就+1,可得到最后不同的二进制数