首页 > 其他 > 详细

Leetcode 191 Number of 1 Bits 位运算

时间:2016-01-24 22:23:14      阅读:124      评论:0      收藏:0      [点我收藏+]

统计一个值的二进制1的个数,用与(&)和向左移位(<<)

编程之美中的2.1节有详细解答。

解法一:

 1 class Solution {
 2 public:
 3     int hammingWeight(uint32_t n) {
 4         int ans = 0;
 5         for(;n;n = n>>1){
 6             ans += n&1;
 7         }
 8         return ans;
 9     }
10 };

解法二:

 1 class Solution {
 2 public:
 3     int hammingWeight(uint32_t n) {
 4         int ans = 0;
 5         for(;n;n &=(n-1)){
 6             ans ++;
 7         }
 8         return ans;
 9     }
10 };

 

Leetcode 191 Number of 1 Bits 位运算

原文:http://www.cnblogs.com/onlyac/p/5155996.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!