欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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;
    }
};

 

相关标签: 算法 两数之和