因为n&n-1会把低位1抵消掉,所以一直做与运算,直到值为0
public class Solution {
    public int hammingWeight(int n) {
        int ret = 0;
        while (n != 0) {
            n &= n - 1;
            ret++;
        }
        return ret;
    }
}
剑指 Offer 15. 二进制中1的个数 Java
阅读 75
2022-03-12
因为n&n-1会把低位1抵消掉,所以一直做与运算,直到值为0
public class Solution {
    public int hammingWeight(int n) {
        int ret = 0;
        while (n != 0) {
            n &= n - 1;
            ret++;
        }
        return ret;
    }
}
相关推荐
精彩评论(0)