网络问题,无法上传图片
方法1: 这道题目和190题思路一样,所以方法1我采用的就是190题的方法。时间复杂1,空间复杂1.
public class Solution {
// you need to treat n as an unsigned value
public int hammingWeight(int n) {
int res = 0;
for(int i = 0; i < 32; i++){
if((n & 1) == 1) res++;
n >>= 1;
}
return res;
}
}
方法2: 方法1的优化,n & n-1可以使n的最后一位1置0。时间复杂1,空间复杂1.
public class Solution {
// you need to treat n as an unsigned value
public int hammingWeight(int n) {
int res = 0;
while(n != 0){
res++;
n &= (n-1);
}
return res;
}
}
总结:
- 无