1. 题目链接:
https://leetcode.com/problems/hamming-distance/
The Hamming distance between two integers is the number of positions at which the corresponding bits are different.
Given two integers
xandy, 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.</pre>
2. 题目关键词
- 难度等级:easy
- 关键词:
- 语言: C/C++
3. 解题思路
使用异或运算,然后统计异或结果中数字 1 的个数。
int hammingDistance(int x, int y){
// 返回hamming距离
int num = 0;
int result = x ^ y; // 异或预算
while (result != 0) { // 统计result中1的个数
int tmp = result & 1; // 取最低位
if (tmp == 1) {
num++;
}
result = result >> 1;
}
return num;
}