LeetCode——Hamming Distance

LeetCode——Hamming Distance

Question

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.

Note:
0 ≤ x, y < 2^31.

Example:

Input: x = 1, y = 4

Output: 2

Explanation:
1 (0 0 0 1)
4 (0 1 0 0)

The above arrows point to positions where the corresponding bits are different.

具体实现

class Solution {
public:
    int hammingDistance(int x, int y) {
        int tmp = x ^ y;
        int res = 0;
        while (tmp > 0) {
            if (tmp % 2 != 0)
                res++;
            tmp = tmp >> 1;
        }
        return res;
    }
};
posted @ 2017-04-01 20:55  清水汪汪  阅读(148)  评论(0编辑  收藏  举报