Problem Statement
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.
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.
Thinking
题目的意思是返回两个整数二级制不同的位数,大体思路就是通过^(相同为0,不同为1),然后通过对得到数字进行分析即可。
Solution
class Solution {
public int hammingDistance(int x, int y) {
int z = x ^ y;
int fin = 0;
while(z != 0)
{
if(z % 2 == 1)
{
fin++;
}
z = z / 2;
}
return fin;
}
}