其实题目很简单,但是因为有些单词不太懂,所以没怎么理解题的意思。它是讲我们对两个数的二进制数进行计算,计算他们不同的个数,同时是0或者1,不计数,一个是0一个是1就计数。(PS:当时我就是以为是相同的取1,不同的取0,结果刷了好多次都没过,真是哭死了。)
下面是我自己的代码,可能有些过于简单,只做参考:(java代码)
class Solution {
public int hammingDistance(int x, int y) {
int xx = x;
int yy = y;
int x1;
int y1;
int sum = 0;
while(xx!=0||yy!=0){
x1 = xx%2;
y1 = yy%2;//(此处主要是为了获取二进制的值,来判断是否相同)
xx = xx/2;
yy = yy/2;
if(x1!=y1){
sum++;
}
}
return sum;
}
}