leetcode67. Add Binary
Posted seyjs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode67. Add Binary相关的知识,希望对你有一定的参考价值。
题目如下:
解题思路:首先将较短的输入前面补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
以上是关于leetcode67. Add Binary的主要内容,如果未能解决你的问题,请参考以下文章