输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
思路:
1.运用x=x&(x-1)>清零最低位的1
2.当这个数不为0,每次都清最低位的1并且计数
public class Solution {
public int NumberOf1(int n) {
int count = 0;
while(n!= 0){
count++;
n = n & (n - 1);
}
return count;
}
}