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.
通过异或^和与&运算求解,程序如下所示:
public class Solution {
public int getSum(int a, int b) {
if (b == 0){
return a;
}
while (b != 0){
int remain = (a^b);
int carry = ((a&b) << 1);
a = remain;
b = carry;
}
return a;
}
}