每天一道劍指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;      }  }