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.
Subscribe to see which companies asked this question
不用'+'和‘-’操作符实现两个整数的加法
class Solution {
public:
int getSum(int a, int b) {
int sum = 0, carry = 0;
if( b == 0 )
return a;
sum = a ^ b;
carry = ( a & b ) << 1;
return getSum( sum, carry );
}
};