leetcode 汉明距离 简单

 

 

z = x ^ y,计算 z 中二进制 1 的个数。。 z & (z - 1) 可以直接去除二进制最后一个 1

class Solution {
public:
    int hammingDistance(int x, int y) {
        int z = x ^ y;
        int ret = 0;
        while(z) {
            ++ ret;
            z &= (z - 1);
        }
        return ret;
    }
};

 

posted @ 2021-08-08 21:17  rookie_Acmer  阅读(42)  评论(0)    收藏  举报