不使用运算符 + 和 - ,计算两整数 a 、b 之和。
示例 1:
输入: a = 1, b = 2
输出: 3
示例 2:
输入: a = -2, b = 3
输出: 1
一开始肯定想到的是怎么简单怎么来,但是可能有更好的方法
class Solution {
public int getSum(int a, int b) {
return a+b;
}
}
不用+ - 符号进行的运算,直接与然后左移,组成原理的知识啦
class Solution {
public int getSum(int a, int b) {
return (0 == b) ? a : getSum(a^b, (a&b)<<1);
}
}
这个代码还能看懂
class Solution {
public int getSum(int a, int b) {
if (a == 0)
return b;
if (a > 0) {
while (a > 0) {
a--; b++;
}
} else {
while (a < 0) {
a++; b--;
}
}
return b;
}
}