leetcode_面试题 17.01.
面试题 17.01. 不用加号的加法
思路
利用位运算代替加法,使用递归来解决不进位的结果和进位结果的和
不考虑进位的情况下,异或的位运算(同0非1)可以用来代替加法
进位的值为二者相与在左移一位
结果为不考虑进位的值和进位的值相加,这里利用函数来递归
class Solution {
public int add(int a, int b) {
if(b == 0) return a;
return add(a^b , (a&b) << 1);
}
}