Easy
1400133FavoriteShare
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
< 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.
C++:
/*
* @Autor: SourDumplings
* @Date: 2019-09-26 17:03:36
* @Link: https://github.com/SourDumplings/
* @Email: changzheng300@foxmail.com
* @Description: https://leetcode.com/problems/hamming-distance/
*/
class Solution
{
public:
int hammingDistance(int x, int y)
{
int r = x ^ y;
int res = 0;
for (int i = 0; i != 32; ++i)
{
if (r & 1 == 1)
{
++res;
}
r >>= 1;
}
return res;
}
};
Java:
/*
* @Autor: SourDumplings
* @Date: 2019-09-26 17:10:24
* @Link: https://github.com/SourDumplings/
* @Email: changzheng300@foxmail.com
* @Description: https://leetcode.com/problems/hamming-distance/
*/
class Solution
{
public int hammingDistance(int x, int y)
{
int r = x ^ y;
int res = 0;
for (int i = 0; i != 32; ++i)
{
if ((r & 1) == 1)
{
++res;
}
r >>= 1;
}
return res;
}
}