解题思路:直接对每个数进行mod2,然后统计每个数的2进制中1出现的个数即可
class Solution {
public:
vector<int> countBits(int n) {
vector<int>ans(n+1);
for(int i=0;i<=n;i++){
int index=i;
while(index!=0){
int num=index%2;
if(num==1)
ans[i]++;
index=index/2;
}
}
return ans;
}
};
运行结果: