461. Hamming Distance #
题目 #
两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。
给定两个整数 x
和 y
,计算并返回它们之间的汉明距离。
思路 #
异或 + 统计 1
的数目
代码 #
汉明距离 #
class Solution {
public int hammingDistance(int x, int y) {
int sum = x ^ y;
int hammingDistance = 0;
for (int i=31; i>=0; i--) {
if (((sum >> i) & 1) == 1) hammingDistance += 1;
}
return hammingDistance;
}
}