牛客题霸NC120二进制中1的个数Java题解
牛客题霸NC120二进制中1的个数Java题解
方法:与运算,逐位判断
解题思路:让n与1进行与运算逐位判断,如果最后一位是1,则结果+1,当n为0时,跳出循环。
public class Solution { public int NumberOf1(int n) { int res = 0; while(n!=0){ //注意:这里写n>0会报错 if((n&1)==1){ //如果最后一位是1,res++ res++; } n>>>=1; //无符号右移1位 } return res; } }