【LeetCode】 Hamming Distance (C++)

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 ≤ xy < 231.

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.

使用二进制中的异或“^”运算,然后再用“>>”依次计算1的个数

代码:

class Solution {
public:
    int hammingDistance(int x, int y) {
        int ans=0;
        int t=x^y;
        for(int i=0; i<32; i++)
            ans+=(t>>i)&1;
        return ans;
    }
};

猜你喜欢

转载自blog.csdn.net/biongbiongdou/article/details/80209777