67. Add Binary Leetcode Python

For example,a = "11"b = "1"

Return "100".

这题的做法和前面一题plus one 一样,,区别在于需要将两个string先相加,再判断是否要进位。

直接上代码吧。

class Solution:# @param a, a string# @param b, a string# @return a stringdef addBinary(self, a, b):a=list(a)b=list(b)for i in range(len(a)):a[i]=int(a[i])for i in range(len(b)):b[i]=int(b[i])lena=len(a)lenb=len(b)if lena<lenb:a,b=b,aitera=len(a)-1iterb=len(b)-1while itera>=0 and iterb>=0:a[itera]+=b[iterb]itera-=1iterb-=1for i in reversed(range(len(a))):digit=a[i]%2carry=a[i]/2a[i]=digitif i>0:a[i-1]+=carryif carry==1:a.insert(0,1)for i in range(len(a)):a[i]=str(a[i])return "".join(a)

销售世界上第一号的产品——不是汽车,

67. Add Binary Leetcode Python

相关文章:

你感兴趣的文章:

标签云: