leetcode 371 不用加减求两数之和
程序员文章站
2022-07-14 15:26:20
...
//方法一,递归版
//Time::O(n),Space:O(1)
class Solution
{
public:
int Add(int num1, int num2)
{
return num2==0?num1:Add(num1^num2,(num1&num2)<<1);
}
};
//方法二,迭代版
//Space::O(1),Time::O(n)
class Solution
{
public:
int Add(int num1, int num2)
{
while(num2!=0)
{
int sum=num1^num2;
int carry=(num1&num2)<<1;
num1=sum;
num2=carry;
}
return num1;
}
};
上一篇: 两数之和