Write a function that adds two numbers. You should not use + or any arithmetic operators.
Example:
Input: a = 1, b = 1 Output: 2
Note:
a
andb
may be 0 or negative.- The result fits in 32-bit integer.
class Solution {
public int add(int a, int b) {
int sum = 0, carry = 0;
while (b != 0) {
sum = a ^ b;
carry = (a & b) << 1;
a = sum;
b = carry;
}
return a;
}
}