# Hamming Distance

[https://leetcode.com/problems/hamming-distance/description/](https://leetcode.com/problems/hamming-distance/description/)

> The[Hamming distance](https://en.wikipedia.org/wiki/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.

## Thoughts

找不同bit想到XOR. 然后再数XOR后有多少个1. 通过把32位不断右移后与1相与.

## Code

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

## Analysis

时间复杂度O(1).
