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.
Solution 1:
1 public class Solution { 2 public int hammingDistance(int x, int y) { 3 return Integer.bitCount(x ^ y); 4 } 5 }
Solution 2:
1 public int hammingDistance(int x, int y) { 2 int xor = x ^ y, count = 0; 3 for (int i=0;i<32;i++) count += (xor >> i) & 1; 4 return count; 5 }