题目:
不使用运算符 +
和 -
,计算两整数 a
、b
之和。
示例 1:
输入: a = 1, b = 2 输出: 3
示例 2:
输入: a = -2, b = 3 输出: 1
思路:
a ^ b是无进位的相加; a&b得到每一位的进位;让无进位相加的结果与进位不断的异或, 直到进位为0;
java代码:
class Solution {
int getSum(int a, int b) {
while ((a & b) !=0) {
int n = a;
int m = b;
a = n ^ m;
b = (n & m) << 1;
}
return a ^ b;
}
}
由于水平有限,博客中难免会有一些错误,有纰漏之处恳请各位大佬不吝赐教!
推荐阅读:
【leetcode-动态规划】买卖股票的最佳时机 - CSDN博客
及时更新最新文章和学习资料,一起来学习: