Python, LintCode, 408. 二进制求和

class Solution:
    """
    @param a: a number
    @param b: a number
    @return: the result
    """
    def addBinary(self, a, b):
        # write your code here
        return bin(int(a, 2) + int(b, 2))[2:]
class Solution:
    """
    @param a: a number
    @param b: a number
    @return: the result
    """
    def addBinary(self, a, b):
        # write your code here
        a = list(a)
        b = list(b)
        carry = 0
        res = ""
        while len(a) != 0 or len(b) != 0:
            if len(a) != 0:
                tmp1 = int(a.pop())
            else:
                tmp1 = 0
            if len(b) != 0:
                tmp2 = int(b.pop())
            else:
                tmp2 = 0
            tmp = divmod(tmp1+tmp2+carry, 2)
            carry = tmp[0]
            res = str(tmp[1]) + res
        if carry == 1:
            res = str(carry) + res
        return res

猜你喜欢

转载自blog.csdn.net/u010342040/article/details/80333366
今日推荐