原题链接:Sum of Two Integer
分析:不使用加号的加法运算,考虑如下情况:
1)a与b之间没有进位,那么a^b就是结果
2)a与b之间有进位,即a&b不等与0,那么结果就是a&b<<1 + a^b。
考虑循环进位,使用递归处理sum;
题解:
public class Solution {
public int getSum(int a, int b) {
/*
Timce Complexity:O(1)
*/
int res=a^b;
int flag=a&b;
if(flag!=0)return getSum(res,flag<<1);
return res;
}
}