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;
    }
}

 

posted @ 2017-01-20 10:31  Pickle  阅读(218)  评论(0编辑  收藏  举报