欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【LintCode 简单】1. A + B 问题

程序员文章站 2022-07-14 23:43:29
...

1.问题描述:

给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符。

说明

a和b都是 32位 整数么?

  • 是的

我可以使用位运算符么?

  • 当然可以

2.样例:

如果 a=1 并且 b=2,返回3


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;