JZ11 二進制中1的個數
- 題目描述
- 思路分析
- 代碼實作
題目描述
點這裡
思路分析
位運算
lowbit函數傳回最後一位1對應的數。
故每次把最後一個1減去,看能減多少次,減法次數即為1的個數。
代碼實作
class Solution {
public:
int NumberOf1(int n) {
int res=0;
while(n) n-=lowbit(n),res++;
return res;
}
int lowbit(int x){return x&-x;}
};