package problems.easy;
/**
* Created by sherxon on 2016-12-23.
*/
public class HammingDistance {
public static int hammingDistance(int x,int y){
return Integer.bitCount(x^y);
}
public int hammingDistance2(int x, int y) {
String xs=Integer.toBinaryString(x);
String ys=Integer.toBinaryString(y);
String s1=makeBinary(xs, Math.max(xs.length(), ys.length()));
String s2=makeBinary(ys, Math.max(xs.length(), ys.length()));
int count=0;
for (int i = 0; i < s1.length(); i++) {
if(s1.charAt(i)!=s2.charAt(i))count++;
}
return count;
}
private String makeBinary(String xs, int max) {
StringBuilder s=new StringBuilder(xs);
while (s.length()<max)
s.insert(0, "0");
return s.toString();
}
}