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
Python3
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]))