给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符。
class Solution {
public int aplusb(
int a,
int b) {
if(b ==
0)
return a;
while(b !=
0) {
int carry = a & b;
a = a ^ b;
b = carry <<
1;
}
return a;
}
}
使用递归实现如下
class Solution {
public int aplusb(
int a,
int b) {
if(b ==
0)
return a;
return aplusb2(a ^ b, (a & b) <<
1);
}
}
转载请注明原文地址: https://ju.6miu.com/read-5415.html