LeetCode-461. Hamming Distance

The Hamming distance between two integers is the number of positions at which the corresponding bits are different.

Given two integers x and y, calculate the Hamming distance.

思路:算两个数二进制按位比较不同位的个数,先异或,再求xor的二进制1的个数。

public class Solution {
    public int hammingDistance(int x, int y) {
        int xor = x ^ y;
        int distance = 0;
        while (xor != 0) {
            distance ++;
            xor &= (xor-1); //清除xor最右边的1
        }
        return distance;
    }
}
原文地址:https://www.cnblogs.com/wxisme/p/6322089.html