lc461汉明距离

lc461汉明距离

问题:

给定两个整数,返回这两个整数的汉明距离。

汉明距离:两个数字对应二进制位不同位置的数目。

 

题解:

1.异或运算符,位置不等返回1,内置函数直接统计1的个数

Integer.bitCount(x^y);

 

2.循环统计为1的个数;循环条件s

不等于0,每循环一次,位数少1。位数值与1并运算,自加并运算的结果。

int s= x^y, ret =0;

while(s!=0){

ret+=s&1;

s>>1;

}

return ret;

你可能感兴趣的:(java)