刷算法 - a+b问题

2022-06-17 16:43:33 浏览数 (1)

问题描述

给出两个整数 a 和 b , 求他们的和。

显然你可以直接 return a b,但是你是否可以挑战一下不这样做?

提示

两数异或得到无进位的加法,两数相与并且左移一位表示进位.

详细代码:

代码语言:javascript复制
public int plus(int a, int b){
          while(b != 0){
                    int ta = a^b;
                    int tb = (a&b)<<1;
                    a = ta;
                    b = tb;
          }
          return a;
}

0 人点赞