[LeetCode&Python] Problem 371. Sum of Two Integers

时间:2022-12-25 16:58:20

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

Example 1:

Input: a = 1, b = 2
Output: 3

Example 2:

Input: a = -2, b = 3
Output: 1
 
class Solution(object):
def getSum(self, a, b):
"""
:type a: int
:type b: int
:rtype: int
"""
MAX = 0x7FFFFFFF
#符号位为0的最大值
Mask = 0xFFFFFFFF
#符号位为1的最大值 while b!=0:
suma=(a^b)&Mask
carry=((a&b)<<1)&Mask
a=suma
b=carry return a if a<=MAX else ~(a^Mask) #Python 比较麻烦的地方是 要Mask.....