Integer.toBinaryString(n)
觉得用位运算比较麻烦,查了Integer的API看到了这个方法
1.将整数转换为对应的二进制字符
2.将字符换用切割指定的切割方法转换成数据
3。遍历字符数组将字符数组的每个元素和1做相等比较。
public class Solution {
public int NumberOf1(int n) {
String Sp = Integer.toBinaryString(n);
String[] sp = Sp.split("");
int number=0;
for(int i=0;i<sp.length;i++){
if(sp[i].equals("1")){
number++;
}
}
return number;
}
}


京公网安备 11010502036488号