简单的a+b

LintCode的第一题…就学到许多

递归方法的时间明显要长许多

a^b:无进位加法

(a&b)<<1:求进位

1
2
3
const aplusb = function (a, b) {
return a+b;
}
1
2
3
4
5
6
7
8
9
const aplusb = function (a, b) {
var tmp = 0;
while (b != 0) {
tmp = (a&b)<<1;
a = a^b;
b = tmp;
}
return a;
}
1
2
3
const aplusb = function (a, b) {
return (b == 0 ? a : aplusb(a^b,(a&b)<<1));
}