【LintCode 简单】1. A + B 问题
程序员文章站
2022-07-14 23:43:29
...
1.问题描述:
给出两个整数a和b, 求他们的和, 但不能使用 +
等数学运算符。
说明
a和b都是 32位
整数么?
- 是的
我可以使用位运算符么?
- 当然可以
2.样例:
3.代码:
如果 a=1
并且 b=2
,返回3
class Solution:
"""
@param: a: An integer
@param: b: An integer
@return: The sum of a and b
"""
def aplusb(self, a, b):
# write your code here
if a * b < 0 and abs(a)==abs(b):
return 0
else:
while b!=0:
sum = a ^ b;
carry = (a & b) <<1
a = sum
b= carry
return a;