C++ | Similar to Base 2  except carry divided by -2
\nclass Solution {\npublic:\n    vector<int> addNegabinary(vector<int>& arr1, vector<int>& arr2) {\n        \n        int n = arr1.size();\n        int m = arr2
```\nclass Solution {\npublic:\n    vector<int> addNegabinary(vector<int>& arr1, vector<int>& arr2) {\n        \n        int n = arr1.size();\n        int m = arr2.size();\n        \n        int i = n-1, j = m-1, carry = 0;\n        vector<int>res;\n        int c = 0;\n        \n        while (i >= 0 || j >= 0 || carry) {\n            if (i >= 0) carry += arr1[i--];\n            if (j >= 0) carry += arr2[j--];\n            res.push_back(carry & 1);\n            carry = -(carry >> 1);\n        }\n        \n        while (res.size() > 1 && res.back() == 0)\n            res.pop_back();\n        \n        reverse(res.begin(), res.end());\n        \n        return res;\n    }\n};\n```
[]