剑指 Offer 65. 不用加减乘除做加法
不知道怎么做,照搬K佬思想。

举例:a=0101 b=0111过程为:
a=0101
b=0111
c= (a & b) << 1 = 1010
a^=b =0010
b=c =1010
c= (a & b) << 1 = 0100
a^=b =1000
b=c =0100
c= (a & b) << 1 = 0000
a^=b = 1100
b=c = 0000循环结束
剑指 Offer 65. 不用加减乘除做加法
class Solution { public int add(int a, int b) { while(b != 0){ int c = (a & b) << 1; a ^= b; b = c; } return a; } }
浙公网安备 33010602011771号