1.简述:
描述
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
数据范围:两个数都满足
进阶:空间复杂度 ,时间复杂度
示例1
输入:
1,2
返回值:
3
示例2
输入:
0,0
返回值:
0
2.代码实现:
public class Solution {
public int Add(int num1,int num2) {
// add表示进位值
int add = num2;
// sum表示总和
int sum = num1;
// 当不再有进位的时候终止循环
while(add != 0) {
// 将每轮的无进位和与进位值做异或求和
int temp = sum ^ add;
// 进位值是用与运算产生的
add = (sum & add) << 1;
// 更新sum为新的和
sum = temp;
}
return sum;
}
}