461. 汉明距离
位运算之 与运算 应用哟,&运算有保1清0的作用。&后面跟的数与想保留x位低位有关,eg:若想保留低八位则&255。
这题和136. 只出现一次的数字这题用到的思维基本一直,利用异或,把找不同的问题转换为对result二进制里的1计数。
int hammingDistance(int x, int y){//我一开始也想到了异或哟,只是没反应过来十进制也可异或呀,然后再转二进制判断就好了
int result,sum=0;
result=x^y;
while(result){
if((result&1)==1)//此运算相当于保留低1位,清楚其余高位
sum++;
result>>=1;
}
return sum;
}