Problem
Given two integers a
and b
, return the sum of the two integers without using the operators +
and -
.
Example 1:
Input: a = 1, b = 2
Output: 3
Example 2:
Input: a = 2, b = 3
Output: 5
Constraints:
-1000 <= a, b <= 1000
Solution
/**
* @param {number} a
* @param {number} b
* @return {number}
*/
var getSum = function(a, b) {
let carry = 0
while (b !== 0) {
carry = a & b
a ^= b
b = carry << 1
}
return a
};
Explain:
nope.
Complexity:
- Time complexity : O(n).
- Space complexity : O(n).