题目链接:LeeCode461汉明距离
题目描述:
题目很简单,就是算二进制位置不同的数有几个,可以异或一下,异或的意思就是将1变成0001,将4变成0100然后相同为0不同为1,得出0101即5,再算5的二进制1有几个
class Solution {
public int hammingDistance(int x, int y) {
int z=x^y,ans=0;
while(z>0){
if(z%2==1)ans++;
z=z/2;
}
return ans;
}
}