您的位置:首页 > 其它

LintcodeA + B 问题

2017-09-14 21:25 204 查看


A + B 问题 

 描述
 笔记

 数据

 评测

给出两个整数a和b, 求他们的和, 但不能使用 
+
 等数学运算符。


 注意事项


你不需要从输入流读入数据,只需要根据
aplusb
的两个参数a和b,计算他们的和并返回就行。

您在真实的面试中是否遇到过这个题? 

Yes

说明

a和b都是 
32位
 整数么?
是的
我可以使用位运算符么?
当然可以

样例

如果 
a=1
 并且 
b=2
,返回
3


public class Solution {

    /*

     * @param a: An integer

     * @param b: An integer

     * @return: The sum of a and b

     */

    public int aplusb(int a, int b) {

        // write your code here

        if (b == 0)

            return a;

        int nocarry = a ^ b;

        int carry = (a & b) << 1;

        return aplusb(nocarry, carry);

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: