461. Hamming Distance

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 x and y, 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;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容