題目如下:
就是先把x,y轉成二進制數,再比較有多少位不同,很簡單。C++有bitset包,大大節約了二進制轉換的時間。
代碼如下:
#include <bitset>
class Solution {
public:
int hammingDistance(int x, int y) {
bitset<128> bitvec1;
bitset<128> bitvec2;
bitvec1=x;
bitvec2=y;
int count=0;
for(int i=0;i<128;++i)
{
if(bitvec1[i]!=bitvec2[i])
count++;
}
return count;
}
};