链接
https://leetcode-cn.com/problems/hamming-distance/
耗时
解题:7 min
题解:3 min
题意
两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。
给出两个整数 x 和 y,计算它们之间的汉明距离。
思路
把 两个数 每一位的异或值 加和。
时间复杂度: O ( n ) O(n) O(n)
AC代码
class Solution {
public:
int hammingDistance(int x, int y) {
int cnt = 0;
while(x != 0 || y != 0) {
cnt += ((x&1)^(y&1));
x >>= 1;
y >>= 1;
}
return cnt;
}
};