LeetCode 371. 两整数之和

题目描述: 两整数之和

        不使用运算符 + 和-,计算两整数a 、b之和。

示例:
        若 a = 1 ,b = 2,返回 3。

解题思路:

        不断的异或和与,异或的结果是不含进位的加,与得到的是每一位的进位,让结果和进位继续异或(无进位加),直到进位为0.

代码:

class Solution {
public:
    int getSum(int a, int b) {
        int c;
        while(b != 0) {
            c = a^b;
            b = a&b;
            b = b << 1;
            a = c;
        }
        return a;
    }
};


版权声明:本文为qq_33168253原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。