Leetcode brush question record-67. Binary summation

Insert picture description here
Consider setting a carry identifier

class Solution:
    def addBinary(self, a: str, b: str) -> str:
        while len(a) < len(b):
            a = '0' + a
        while len(a) > len(b):
            b = '0' + b 
        sumstr = str(int(a) + int(b))
        sumstr = [letter for letter in sumstr]
        length = len(sumstr)
        jinwei = False
        for i in range(length):
            cur = length - i - 1
            if sumstr[cur] == '2':
                if jinwei == True:
                    sumstr[cur] = '1'
                elif jinwei == False:
                    sumstr[cur] = '0' 
                jinwei = True
            elif sumstr[cur] == '1':
                if jinwei == True:
                    sumstr[cur] = '0'
                elif jinwei == False:
                    sumstr[cur] = '1'
                    jinwei = False
            elif sumstr[cur] == '0':
                if jinwei == False:
                    sumstr[cur] = '0' 
                elif jinwei == True:
                    sumstr[cur] = '1'
                jinwei = False
        res = ''
        for letter in sumstr:
            res += letter
        if jinwei == True:
            res = '1' + res
        return res

            
Published 59 original articles · Liked 14 · Visitors 20,000+

Guess you like

Origin blog.csdn.net/weixin_41545780/article/details/105480186