Add Binary - LeetCode

来源:互联网 发布:sql编写存储过程 编辑:程序博客网 时间:2024/06/06 04:32

Add Binary - LeetCode

题目:

Given two binary strings, return their sum (also a binary string).

For example,
a = "11"
b = "1"
Return "100".

分析:

二进制加法,很简单的。我选择把a和b反转,再进行逐位相加。

代码:

class Solution:    # @param a, a string    # @param b, a string    # @return a string    def addBinary(self, a, b):          a = a[::-1]          b = b[::-1]          if len(a) > len(b):              temp = self.add(a,b)          else:              temp = self.add(b,a)          s = ''          for i in temp[::-1]:              s += str(i)          return s        def add(self,a,b):        temp = [int(i) for i in a]        for i in range(len(b)):                temp[i] = temp[i] + int(b[i])                if temp[i] == 2:                    j = i                    while j < len(temp)-1:                        if temp[j] == 2:                            temp[j] = 0                            temp[j+1] += 1                        j += 1        if temp[-1] >= 2:              temp[-1] -= 2              temp.append(1)        return temp


0 0
原创粉丝点击