版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ccnuacmhdu/article/details/84887786
时间限制:1秒 空间限制:32768K 热度指数:83474
题目描述
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号
代码1:
public class Solution {
public int Add(int num1,int num2) {
return Integer.sum(num1, num2);
}
}
代码2:
public class Solution {
public int Add(int num1,int num2) {
if(num1 > 0){
while(num1-->0){
num2++;
}
}else if(num1 < 0){
while(num1++<0){
num2--;
}
}
return num2;
}
}
代码3:
public class Solution {
public int Add(int num1,int num2) {
while(num1 != 0){
int sum = num1 ^ num2;//相加,不考虑进位
int carry = (num1 & num2) << 1;//仅用于进位
num1 = carry;
num2 = sum;
}
return num2;
}
}