求兩個數字的二進制表示的差異數量

例如 1101 與 1000 ,第二與四位置的bit不同,共兩個,回傳2

解法:先將兩束用 XOR 運算子,再用 n & (n-1) 計算 1 的數量 cf 191. Number of 1 Bits

class Solution:
    def hammingDistance(self, x: int, y: int) -> int:
        xor = x ^ y
        res = 0
        while xor:
            xor = xor & (xor-1)
            res += 1
        return res