LeetCode【位运算】371. 两整数之和

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

示例 1:

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

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

解法

class Solution {
    public int getSum(int a, int b) {
      
        
        if(b==0){//进位等于0,停止递归
            return  a;
        }
        
        int  sum = a^b; //非进位和
        int carry = (a&b)<<1;//进位和
            
           return  getSum(sum,carry);
   
        
    }
}
···

你可能感兴趣的:(算法)