371. Sum of two integers

Sum of Two Integers - LeetCode

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

  • code
class Solution {
    public int getSum(int a, int b) {
        while (b != 0) {
            int answer = a ^ b;
            int carry = (a & b) << 1;
            a = answer;
            b = carry;
        }
        
        return a;
    }
}
  • code
class Solution:
    def getSum(self, a: int, b: int) -> int:
        
        mask = 0xffffffff
        
        while b & mask:
            _carry = a & b
            a = a ^ b
            b = _carry << 1
        
        # for overflow condition like
        # -1
        #  1
        return (a & mask) if b > mask else a