0461. Hamming Distance

461. Hamming Distance #

题目 #

两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。

给定两个整数 xy,计算并返回它们之间的汉明距离。

思路 #

异或 + 统计 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;
    }
}