原题
思路
- 汉明距离就是两个数异或后的二进制中1的数目
代码
class Solution {
public:
int hammingDistance(int x, int y) {
int z = x ^ y;
int ans = 0;
while (z) {
ans += (z & 1);
z >>= 1;
}
return ans;
}
};
运行截图

收获
- 统计二进制数中的1的数目可以用内置函数__builtin_popcount()来执行
- 位运算很奇妙哈不得不说! & >>
版权声明:本文为virtual_YL原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。