算法题(1): 如何不用加号,求两整数之和
给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算
- a、b 分别为 32 位整数
- 可以使用位运算符
class Solution {
public:
/**
* @param a: An integer
* @param b: An integer
* @return: The sum of a and b
*/
int aplusb(int a, int b) {
if(b==0)
return a;
int sum = a^b;
int i=(a&b)<<1;
return aplusb(sum,i);
}
/**
* sum为和,i为进位
*/
};