剑指offer 15 二进制中1的个数

  1. 按位与运算“&”优先级比“==”低,所以与运算两侧要加括号
  2. 注意巧妙地n&(n-1)
public class Solution {
    public int NumberOf1(int n) {
        int count = 0;
        int flag = 1;
        while (flag != 0) {
            if ((n & flag) != 0) {
                count++;
            }
            flag = flag << 1;
        }
        return count;
    }
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务