Leetcode刷题:剑指offer【面试题65 不用加减乘除做加法】

【面试题65 不用加减乘除做加法】

面试题65:不用加减乘除做加法:写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。

思路:位运算。

参考:面试题65. 不用加减乘除做加法(位运算,清晰图解)作者:jyd

class Solution:
    def add(self, a: int, b: int) -> int:
        x = 0xffffffff
        a, b = a & x, b & x
        while b != 0:
            a, b = (a ^ b), (a & b) << 1 & x
        return a if a <= 0x7fffffff else ~(a ^ x)

你可能感兴趣的:(今天刷题了吗)