不用加减乘除做加法

139 阅读1分钟

不用加减乘除做加法

写一个函数,求两个整数之和,要求在函数体内不得使用+、-、×、÷ 四则运算符号。

样例
输入:num1 = 1 , num2 = 2
输出:3

数学

时间复杂度O(n)

class Solution {
    public int add(int num1, int num2) {
        int sum = 0,carry = 0;
        while(num2 != 0){
            sum = num1 ^ num2;
            carry = (num1 & num2) << 1;
            num1 = sum;
            num2 = carry;
        }
        return num1;
    }
}