【题目描述】 给你一个整数 n ,对于 0 = i = n 中的每个 i ,计算其二进制表示中  1  的个数,返回一个长度为  n + 1  的数组 
           
        
        
                    
                【题目描述】
给你一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n + 1 的数组 ans 作为答案。
https://leetcode.cn/problems/counting-bits/?favorite=2cktkvj
【示例】

【代码】admin
Integer.toBinaryString(i);   // 十进制转二进制Integer.bitCount(i)          // 统计二进制中1的数量
import java.
math.
BigInteger;
import java.
util.
*;
import java.
util.
regex.
Pattern;
// 2022-12-17class Solution {    
public int[] 
countBits(
int n) {        
if ( 
n < 0) 
return null;        
int[] 
res = new int[
n+1];        
for (
int i = 0; 
i <= n; 
i++){            
int count = Integer.
bitCount(
i);            
res[
i] 
= count;        }        
return res;    }}
public class Main{    
public static void main(
String[] 
args) {        
int n = 5;        
new Solution().
countBits(
n);    }}
【代码】Offical
public int[] 
countBits(
int n) {    
if ( 
n < 0) 
return null;    
int[] 
res = new int[
n+1];    
for (
int i = 0; 
i <= n; 
i++){        
res[
i] 
= countOnes(
i);    }    
return res;}
private int countOnes(
int x) {    
int one = 0;    
while (
x > 0) {        
x &= (
x - 1);  
// 相同为1        one++;    }    
return one;}