天天看點

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);
    }
};