天天看点

LeetCode:371. Sum of Two Integers

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.

有点像计算机组成原理里面学的求加法的过程,利用异或进位。

AC:

class Solution {
public:
    int getSum(int a, int b) {
        if(b == 0){
        return a;
    }
    int sum,carry;
    sum = a^b;
    carry = (a&b)<<1;
    return getSum(sum,carry);
    }
};