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
题解:
求两个数的和,不能用加减法。显然是位运算。ac代码:
class Solution {
public:
int getSum(int a, int b) {
return a & b ? getSum((a & b) << 1, a ^ b) : a | b;
}
};