LeetCode 461.汉明距离

题目

两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。

给你两个整数 xy,计算并返回它们之间的汉明距离。

思路 :异或运算:相同的为0,不同的为1

将两个数做异或运算,然后计算1的个数即是答案。

代码

java 复制代码
class Solution {
    public int hammingDistance(int x, int y) {
        // Integer.bitCount
        // 计算一个整数的二进制表示中 1 的个数(也称为 汉明重量 或 人口计数)
        return Integer.bitCount(x ^ y);
    }
}

性能

时间复杂度o(1)

空间复杂度o(1)