LeetCode 371. 两整数之和 (Sum of Two Integers)[简单]

lework · 2020年05月30日 · 最后由 lework 回复于 2020年05月30日 · 128 次阅读

不使用运算符 + 和 - ​​​​​​​,计算两整数 ​​​​​​​a 、b ​​​​​​​之和。

示例 1:

输入: a = 1, b = 2
输出: 3

示例 2:

输入: a = -2, b = 3
输出: 1

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/sum-of-two-integers 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

class Solution:
    def getSum(self, a: int, b: int) -> int:
        # 位运算
        MAX = 0x7fffffff
        MIN = 0x80000000
        mask = 0xFFFFFFFF
        while b != 0:
            a, b = (a ^ b) & mask, ((a & b) << 1)
        return a if a <= MAX else ~(a ^ mask)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册