您的位置:首页 > 其它

371. Sum of Two Integers

2016-07-20 00:13 239 查看
题意:实现两个数相加,但是不是用+或者-

代码实现:

int sum=a;

  int carry=b;

  while(carry!=0){

   int temp=sum^carry;

   carry=(sum&carry)<<1;

   sum=temp;

  }

  return sum;

解题思路:
不用加号,那只能用&或者^



如上图所示,当不考虑进位时,用^,当考虑进位时,用$,并且左移<<一位得到carry;一直到carry为零,也就是没有进位的相加为止
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode