不使用运算符 +
和-
,计算两整数a
、b
之和。
示例:
若 a = 1 ,b = 2,返回 3。
class Solution {
public:
int getSum(int a, int b) {
if((a&b) == 0) //如果a b 1的位数不重叠则直接与运算
return a|b;
return getSum(a^b,(a&b)<<1); //a^b模拟二进制无进位加法 (a&b)<<1为进位数
}
};