Simple C++ solution
\nclass Solution {\npublic:\n    vector<int> addNegabinary(vector<int>& arr1, vector<int>& arr2) {\n       if (arr1.size() > arr2.size()) swap(arr1,arr2);\n    
```\nclass Solution {\npublic:\n    vector<int> addNegabinary(vector<int>& arr1, vector<int>& arr2) {\n       if (arr1.size() > arr2.size()) swap(arr1,arr2);\n        arr2.insert(arr2.begin(), 3, 0);\n        for (int i = arr1.size()-1, j = arr2.size()-1; j>=0; i--, j--) {\n            if (i>=0) arr2[j]+=arr1[i];\n            if (arr2[j] == -1) {\n                arr2[j] = 1;\n                arr2[j-1]++;\n            } else if (arr2[j] == 2) {\n                arr2[j] = 0;\n                arr2[j-1]--;\n            } else if (arr2[j] == 3) {\n                arr2[j] = 1;\n                arr2[j-1]--;\n            }\n        }\n        while (arr2.front() == 0 && arr2.size()>1) arr2.erase(arr2.begin());\n        return arr2;\n    }\n};\n```
[]