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.

Credits:Special thanks to @fujiaozhu for adding this problem and creating all test cases.

Solution

public class Solution {
     public int getSum(int a, int b) {
        int result = 0;
        int carry = 0;

        for (int i = 0; i < 32; i++) {
            int currentA = (a >> i) & 1;
            int currentB = (b >> i) & 1;

            int currentResult = currentA ^ currentB ^ carry;
            carry = (currentA & currentB) | (currentA | currentB) & (carry);

            result = result | (currentResult << i);
        }

        return result;
    }
}

results matching ""

    No results matching ""