牛客网链接: link.

解题思路如下图:
采用递归的思想
总是要停下来的,条件就是其中一个为0,那么就返回另一个。
- 求取数字相加后当前二进制的取值(不考虑进位)
- 求取数字相加后进位的取值

class UnusualAdd {
public:
int addAB(int A, int B) {
// write code here
if(A == 0)
return B;
if(B == 0)
return A;
int a = A ^ B;//不考虑进位时候相加的结果
int b = (A & B) << 1;//进位的结果
return addAB(a,b);
}
};


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



