码迷,mamicode.com
首页 > 其他好文 > 详细

【leetcode】67. Add Binary

时间:2018-07-06 22:28:57      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:strong   nbsp   bsp   sel   code   div   alt   image   info   

题目如下:

技术分享图片

解题思路:首先将较短的输入前面补0,保证a和b长度一样,然后逐位相加再加上进位的值。如果和为3,当前位值为1,进位1;如果为2,当前位值为0,进位为1;否则不进位,当前位值即为和的值。

代码如下:

class Solution(object):
    def addBinary(self, a, b):
        """
        :type a: str
        :type b: str
        :rtype: str
        """
        diff = abs(len(a) - len(b))
        if len(a) < len(b):
            a = 0*diff + a
        elif len(b) < len(a):
            b= 0*diff + b
        carry = 0
        res = ‘‘
        for i,j in zip(a[::-1],b[::-1]):
            v = int(i) + int(j) + carry
            if v == 3:
                v = 1
                carry = 1
            elif v == 2:
                v = 0
                carry = 1
            else:
                carry = 0
            res = str(v) + res
        if carry > 0:
            res = str(carry) + res
        return res
        

 

【leetcode】67. Add Binary

标签:strong   nbsp   bsp   sel   code   div   alt   image   info   

原文地址:https://www.cnblogs.com/seyjs/p/9275618.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!