【LeetCode191】Number of 1 Bits★

1.题目

2.思路

方法一:常规方法。

 

方法二:给面试官惊喜的解法。

 

3.java代码

 方法一代码:

 1 public class Solution {
 2     // you need to treat n as an unsigned value
 3     public int hammingWeight(int n) {
 4         int count=0;
 5     int flag=1;
 6     while(flag!=0){
 7         if((n&flag)!=0)
 8             count++;
 9         flag=flag<<1;
10         }
11     return count;
12     }
13 }

 方法二代码:

 1 public class Solution {
 2     // you need to treat n as an unsigned value
 3     public int hammingWeight(int n) {
 4         int count=0;
 5         while(n!=0){
 6             count++;
 7             n=n&(n-1);
 8         }
 9         return count;
10     }
11 }
原文地址:https://www.cnblogs.com/zhangboy/p/6558685.html