Sum of Two Integers without direct addition leetcode

 371.Sum of Two Integers

Given two integers a and b, return the sum of the two integers without using the operators + and -.

 

Example 1:

Input: a = 1, b = 2
Output: 3

Example 2:

Input: a = 2, b = 3
Output: 5

 

Constraints:

  • -1000 <= a, b <= 1000


solution :

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



Comments