每天一道劍指offer-牛客網二進位中1的個數
- 2019 年 10 月 4 日
- 筆記
題目
每天一道劍指offer-牛客網二進位中1的個數 來源:牛客網對應專題
題目詳述
輸入一個整數,輸出該數二進位表示中1的個數。其中負數用補碼錶示。
題目詳解
思路
就是劍指offer思路哈。

程式碼
public class Solution { public int NumberOf1(int n) { if(n == 0) return 0; int count = 0; while((n&(n-1)) != 0)//這個就是每個整數減一然後與自身相與 { count++;//如果不為0,那麼說明還有1, n = n & (n-1); } count++;//比如說循環開始的時候只有一個1,那麼循環沒進入循環體就結束了,所以這裡需要count加一個1來計數 return count; } }