您的位置:首页 > 其它

leetcode 371

2016-07-21 15:17 260 查看

371. Sum of Two Integers

Total Accepted: 15459
Total Submissions: 29688
Difficulty: Easy

Calculate the sum of two integers a and b, but you are
not allowed
to use the operator
+
and
-
.

Example:

Given a = 1 and b = 2, return 3.

思路:两相加,但是不能用加号和减号,那么从进位和异火等符号入手。异或计算加法,相与计算进位。

public class Solution {

    public int getSum(int a, int b) {

        if(b == 0){

            return a;

        }

        int sum = a^b;

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

        return getSum(sum, carry);

    }

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