Hamming Distance Problem
Description
LeetCode Problem 461.
The Hamming distance between two integers is the number of positions at which the corresponding bits are different.
Given two integers x and y, return the Hamming distance between them.
Example 1:
1
2
3
4
5
6
7
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.
Example 2:
1
2
Input: x = 3, y = 1
Output: 1
Constraints:
- 0 <=x, y <= 2^31 - 1
Sample C++ Code
1
2
3
4
5
6
7
8
9
10
11
12
class Solution {
public:
int hammingDistance(int x, int y) {
x = x ^ y;
int dis = 0;
while (x != 0) {
dis += (x & 1);
x = x >> 1;
}
return dis;
}
};