【LeetCode】 Hamming Distance (C++)

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 ≤ xy < 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.

使用二進制中的異或“^”運算,然後再用“>>”依次計算1的個數

代碼:

class Solution {
public:
    int hammingDistance(int x, int y) {
        int ans=0;
        int t=x^y;
        for(int i=0; i<32; i++)
            ans+=(t>>i)&1;
        return ans;
    }
};

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章