Beats 97.86% of solution With C++ ||*****JAI PEER DATNA******
Bold# Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n-
***Bold***# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```\nclass Solution {\npublic:\n    vector<int> addNegabinary(vector<int>& arr1, vector<int>& arr2) { \n    vector<int> result; \n    int carry = 0;\n    int i = arr1.size() - 1;\n    int j = arr2.size() - 1; \n    while (i >= 0 || j >= 0 || carry != 0) { \n        int bitSum = carry;\n        if (i >= 0) bitSum += arr1[i--];\n        if (j >= 0) bitSum += arr2[j--]; \n        result.insert(result.begin(), bitSum & 1); \n        carry = -(bitSum >> 1);\n    } \n    while (result.size() > 1 && result[0] == 0) {\n        result.erase(result.begin());\n    } \n    return result;\n}\n};\n```
['Array', 'Math', 'Divide and Conquer', 'Recursion', 'Sorting', 'Counting', 'Shortest Path', 'C++', 'Ruby', 'JavaScript']