LeetCode/461. Hamming Distance.md
2018-10-30 16:27:24 +08:00

643 B
Raw Blame History

461. Hamming Distance

思路

求海明距离。
先把x和y进行异或^)操作, 再判断异或结果的二进制表示中有多少个1.
计算二进制表示有多少个1可参见这题的题解:191. Number of 1 Bits 。这里采用思路二。

C++

class Solution {
public:
    int hammingDistance(int x, int y) {
        int res = 0, tmp = x ^ y;
        while(tmp > 0){
            res ++;
            tmp &= (tmp - 1);
        }
        return res;
    }
};