leetcode 371求两整数

求两整数之和
不使用运算符 + 和 - ​​​​​​​,计算两整数 ​​​​​​​a 、b ​​​​​​​之和。

示例 1:

输入: a = 1, b = 2
输出: 3

示例 2:

输入: a = -2, b = 3
输出: 1

int getSum(int a, int b) {
    
    int t=0;
    if(a<0&&b>0)
    {
        t=abs(a);
        while(t--)
        {
            b--;
        }
        return b;
    }else if((a>0&&b<0)||(a<0&&b<0))
    {
        t=abs(b);
        while(t--)
        {
            a--;
        }
        return a;
    }else 
    {
        
        while(a--)
            b++;
        return b;
    }
​
        
}
int getSum(int a,int b)
{
     int y;
    while((a&b)!=0)
       {
         y=a^b;
         a=(a&b)<<1;
         b=y;
      }
      return a|b;
}

其他练习及后续优化:https://github.com/Mjianjianjiao/Practice_LeetCode/blob/master/getSum.c

猜你喜欢

转载自blog.csdn.net/M_jianjianjiao/article/details/82912449