【Leetcode461】Hamming Distance

不知道为什么先前这种通不过 

class Solution {
public:
    int hammingDistance(int x, int y) {
        int answer = 0;
        int tmp = x^y;
        int count = 31;
        while(count--){
            // if(x&1 != y&1){
            //     answer += 1;
            // }
            // x >>= 1;
            // y >>= 1;
            if(tmp&1 == 1){
                answer += 1;
            }
            tmp >>= 1;
        }
        return answer;
    }
};

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------知道错误的原因了,!=优先级是7,按位&优先级是8,所以这样写实际上是先做了!=后做了&

发布了112 篇原创文章 · 获赞 15 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_39458342/article/details/104666715