文章作者:Tyan
博客:noahsnail.com | 优快云 | 简书
1. Description

2. Solution
- Version 1
class Solution {
public:
int getSum(int a, int b) {
int sum = 0;
int carry = 0;
while(b)
{
sum = a ^ b;
carry = a & b;
a = sum;
b = carry << 1;
}
return sum;;
}
};
- Version 2
class Solution {
public:
int getSum(int a, int b) {
return b == 0 ? a : getSum(a ^ b, (a & b) << 1);
}
};

本文介绍了两种不使用加减运算符实现两整数求和的方法。Version1采用循环迭代,Version2则采用递归方式。这两种方法都利用位运算实现了整数相加的功能。
756

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



