comments | difficulty | edit_url |
---|---|---|
true |
Easy |
Write a function that adds two numbers. You should not use + or any arithmetic operators.
Example:
Input: a = 1, b = 1 Output: 2
Note:
a
andb
may be 0 or negative.- The result fits in 32-bit integer.
class Solution {
public int add(int a, int b) {
int sum = 0, carry = 0;
while (b != 0) {
sum = a ^ b;
carry = (a & b) << 1;
a = sum;
b = carry;
}
return a;
}
}
class Solution {
func add(_ a: Int, _ b: Int) -> Int {
var a = a
var b = b
var sum = 0
var carry = 0
while b != 0 {
sum = a ^ b
carry = (a & b) << 1
a = sum
b = carry
}
return a
}
}