

def count_ones(n):
    """
    :type n: int
    :rtype: int
    """
    counter = 0
    while n:
        counter += n & 1
        n >>= 1
    return counter



def count_ones(n):
    """
    :type n: int
    :rtype: int
    """
    if n < 0:
        return
    counter = 0
    while n:
        counter += n & 1
        n >>= 1
    return counter

Check if the input is negative
Check if the input is negative

As the comments mention, the code would work only for unsigned integers.
If a negative integer is provided as input, then the code runs into an
infinite loop. To avoid this, we are checking if the input is negative.
If yes, then return control before loop is entered.

  
  
  def count_ones(n):
      """
      :type n: int
      :rtype: int
      """
+     if n < 0:
+         return
      counter = 0
      while n:
          counter += n & 1
          n >>= 1
      return counter
  
Check if the input is negative
## Code Before:


def count_ones(n):
    """
    :type n: int
    :rtype: int
    """
    counter = 0
    while n:
        counter += n & 1
        n >>= 1
    return counter

## Instruction:
Check if the input is negative
## Code After:


def count_ones(n):
    """
    :type n: int
    :rtype: int
    """
    if n < 0:
        return
    counter = 0
    while n:
        counter += n & 1
        n >>= 1
    return counter
