Leet Code 461:漢明距離
求兩個整數二進制位數不同的個數
異或:^ 不同爲1,相同爲0
快解
int hammingDistance(int x, int y) {
int xorresult=x^y;
int count=0;
while(xorresult!=0)
{
xorresult=xorresult&(xorresult-1);
count++;
}
return count;
}
慢解
int hammingDistance(int x, int y) {
int count=0;
while(x!=0 || y!=0){
if((x&1) ^ (y&1)) count++;
x=x>>1;y=y>>1;
}
return count;
}