public class Solution {
public int NumberOf1(int n) {
int index = 1;
int number = 0;
while(index!=0){
if((n & index)!=0)
number++;
index = index << 1;
}
return number;
}
}
先上第一種
兩種方法。第一種,是用位運算,將1每次左移,和數字進行&運算,如果成功,則返回1.
第二種,將整數通過方法轉換為二進制數,然后統計其中1的數量
第二種
int number = 0;
String string = Integer.toBinaryString(n);
char[] chars = string.toCharArray();
int i = 0;
for( ; i < string.length() ; i++){
if(chars[i]=='1')
number++;
}
return number++;
