2
public int[] addNegabinary(int[] arr1, int[] arr2) {4
List<Integer> result = new ArrayList();5
int pointer_1 = arr1.length - 1;6
int pointer_2 = arr2.length - 1;12
while (pointer_1 >= 0 || pointer_2 >= 0) {14
int a = (pointer_1 >= 0) ? arr1[pointer_1] : 0;15
int b = (pointer_2 >= 0) ? arr2[pointer_2] : 0;21
} else if (sum == 2) {24
} else if (sum == 1) {27
} else if (sum == 0) {30
} else if (sum == -1) {40
if (carry != 0) result.add(1);41
if (carry == -1) result.add(1);43
// Removing leading zeros44
int idx = result.size() - 1;45
while (idx > 0 && result.get(idx) == 0) idx--;47
// reversing the list and adding the result to an array49
int[] negaBinary = new int[len];50
for (int i = 0; i < len; i++) {51
negaBinary[i] = result.get(idx);