# 1073. Adding Two Negabinary Numbers

**难度: Medium**

## 刷题内容

原题连接

内容描述

```
Given two numbers arr1 and arr2 in base -2, return the result of adding them together.
Each number is given in array format: as an array of 0s and 1s, from most significant bit to least significant bit. For example, arr = [1,1,0,1] represents the number (-2)^3 + (-2)^2 + (-2)^0 = -3. A number arr in array format is also guaranteed to have no leading zeros: either arr == [0] or arr[0] == 1.
Return the result of adding arr1 and arr2 in the same format: as an array of 0s and 1s with no leading zeros.
Example 1:
Input: arr1 = [1,1,1,1,1], arr2 = [1,0,1]
Output: [1,0,0,0,0]
Explanation: arr1 represents 11, arr2 represents 5, the output represents 16.
Note:
1 <= arr1.length <= 1000
1 <= arr2.length <= 1000
arr1 and arr2 have no leading zeros
arr1[i] is 0 or 1
arr2[i] is 0 or 1
```

思路 1

*- 时间复杂度: O(N)**- 空间复杂度: O(1)*

python不需要关注大数,直接硬刚, 复用1017题的代码

```python

class Solution:

def addNegabinary(self, arr1: List[int], arr2: List[int]) -> List[int]:

def toNegativeBase(n, neg_base):

if n == 0:

return '0'

res = ''

while n:

remainder = n % (neg_base)

# 1073. Adding Two Negabinary Numbers

**难度: Medium**

## 刷题内容

原题连接

内容描述

```
Given two numbers arr1 and arr2 in base -2, return the result of adding them together.
Each number is given in array format: as an array of 0s and 1s, from most significant bit to least significant bit. For example, arr = [1,1,0,1] represents the number (-2)^3 + (-2)^2 + (-2)^0 = -3. A number arr in array format is also guaranteed to have no leading zeros: either arr == [0] or arr[0] == 1.
Return the result of adding arr1 and arr2 in the same format: as an array of 0s and 1s with no leading zeros.
Example 1:
Input: arr1 = [1,1,1,1,1], arr2 = [1,0,1]
Output: [1,0,0,0,0]
Explanation: arr1 represents 11, arr2 represents 5, the output represents 16.
Note:
1 <= arr1.length <= 1000
1 <= arr2.length <= 1000
arr1 and arr2 have no leading zeros
arr1[i] is 0 or 1
arr2[i] is 0 or 1
```

思路 1

*- 时间复杂度: O(N)**- 空间复杂度: O(1)*

python不需要关注大数,直接硬刚, 复用1017题的代码

```python

class Solution:

def addNegabinary(self, arr1: List[int], arr2: List[int]) -> List[int]:

def toNegativeBase(n, neg_base):

if n == 0:

return '0'

res = ''

while n:

remainder = n % (neg_base)

# 1073. Adding Two Negabinary Numbers

**难度: Medium**

## 刷题内容

原题连接

内容描述

```
Given two numbers arr1 and arr2 in base -2, return the result of adding them together.
Each number is given in array format: as an array of 0s and 1s, from most significant bit to least significant bit. For example, arr = [1,1,0,1] represents the number (-2)^3 + (-2)^2 + (-2)^0 = -3. A number arr in array format is also guaranteed to have no leading zeros: either arr == [0] or arr[0] == 1.
Return the result of adding arr1 and arr2 in the same format: as an array of 0s and 1s with no leading zeros.
Example 1:
Input: arr1 = [1,1,1,1,1], arr2 = [1,0,1]
Output: [1,0,0,0,0]
Explanation: arr1 represents 11, arr2 represents 5, the output represents 16.
Note:
1 <= arr1.length <= 1000
1 <= arr2.length <= 1000
arr1 and arr2 have no leading zeros
arr1[i] is 0 or 1
arr2[i] is 0 or 1
```

思路 1

*- 时间复杂度: O(N)**- 空间复杂度: O(1)*

python不需要关注大数,直接硬刚, 复用1017题的代码

```python

class Solution:

def addNegabinary(self, arr1: List[int], arr2: List[int]) -> List[int]:

def toNegativeBase(n, neg_base):

if n == 0:

return '0'

res = ''

while n:

remainder = n % (neg_base)