牛客题霸NC120二进制中1的个数Java题解

二进制中1的个数

http://www.nowcoder.com/questionTerminal/8ee967e43c2c4ec193b040ea7fbb10b8

牛客题霸NC120二进制中1的个数Java题解
https://www.nowcoder.com/practice/8ee967e43c2c4ec193b040ea7fbb10b8?tpId=117&&tqId=35261&rp=1&ru=/ta/job-code-high&qru=/ta/job-code-high/question-ranking
方法:与运算,逐位判断
解题思路:让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;
    }
}
全部评论

相关推荐

07-18 14:55
门头沟学院 Java
点赞 评论 收藏
分享
06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务