Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -.
Example:
Given a = 1 and b = 2, return 3.
Credits:
Special thanks to @fujiaozhu for adding this problem and creating all test cases.
Subscribe to see which companies asked this question
不用'+'和‘-’操作符实现两个整数的加法
class Solution {
public:
int getSum(int a, int b) {
int sum = 0, carry = 0;
if( b == 0 )
return a;
sum = a ^ b;
carry = ( a & b ) << 1;
return getSum( sum, carry );
}
};
本文介绍了一种不使用加法和减法运算符来计算两个整数之和的方法。通过位运算实现进位计算,递归调用自身直至没有进位发生。此算法巧妙地避免了传统加法运算,并提供了一个具体的C++实现示例。
296

被折叠的 条评论
为什么被折叠?



