Calculate the sum of two integers a and b, but you are not allowed to use the operator +
and -
.
Example:
Given a = 1 and b = 2, return 3.
Credits:
Special thanks to @fujiaozhu for adding this problem and creating all test cases.
class Solution {
public int getSum(int a, int b) {
if(a == 0) return b;
if(b == 0) return a;
while( b!= 0){
int a1 = a;
int b1 = b;
a = a1 ^ b1;
b = (a1 & b1) << 1;
}
return a;
}
}
public int getSum(int a, int b) {
if(a == 0) return b;
if(b == 0) return a;
while( b!= 0){
int a1 = a;
int b1 = b;
a = a1 ^ b1;
b = (a1 & b1) << 1;
}
return a;
}
}