Skip to content

1017. Convert to Base -2

Difficulty Topics

Description

Given an integer n, return a binary string representing its representation in base -2.

Note that the returned string should not have leading zeros unless the string is "0".

 

Example 1:

Input: n = 2
Output: "110"
Explantion: (-2)2 + (-2)1 = 2

Example 2:

Input: n = 3
Output: "111"
Explantion: (-2)2 + (-2)1 + (-2)0 = 3

Example 3:

Input: n = 4
Output: "100"
Explantion: (-2)2 = 4

 

Constraints:

  • 0 <= n <= 109

Solution

convert-to-base-2.py
class Solution:
    def baseNeg2(self, n: int) -> str:
        res = []

        while n != 0:
            res.append(n & 1)
            n = -(n >> 1)

        return "".join(map(str, res[::-1] or [0]))