0
点赞
收藏
分享

微信扫一扫

#yyds干货盘点# 解决剑指offer:不用加减乘除做加法

1.简述:

描述

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

数据范围:两个数都满足 #yyds干货盘点# 解决剑指offer:不用加减乘除做加法_数据

进阶:空间复杂度 #yyds干货盘点# 解决剑指offer:不用加减乘除做加法_四则运算_02,时间复杂度 #yyds干货盘点# 解决剑指offer:不用加减乘除做加法_四则运算_02

示例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;
}
}


举报

相关推荐

0 条评论