p371

LeetCode 371 Sum of Two Integers 题解

1.题目:

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.

题意:

在不使用加减号的情况下输出两个数的和。

2.解题思路:

使用位运算:用异或计算位置上的得数,用与计算进位,直到进位为0输出结果。

3.代码


[title] [] [url] [link text]
1
2
3
4
5
6
7
8
9
10
11
12
 

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);
}


4.一些总结: