[Easy] 67. Add Binary

Description

兩個string的二進制數(shù)相加

Solution

簡潔寫法

class Solution:
    def addBinary(self, a: str, b: str) -> str:
        indexa = len(a) - 1
        indexb = len(b) - 1
        carry = 0
        sum = ""
        while indexa >= 0 or indexb >= 0:
            x = int(a[indexa]) if indexa >= 0 else 0
            y = int(b[indexb]) if indexb >= 0 else 0
            if x + y + carry >1:
                sum = str(x+y+carry-2) + sum
                carry = 1
            else:
                sum = str(x+y+carry) + sum
                carry =0
            indexa, indexb = indexa - 1, indexb - 1
        if carry == 1:
            sum = '1' + sum
        return sum
class Solution:
    
    def addBinary(self, a: str, b: str) -> str:
        carry = 0
        sum = 0
        res = ''
        min_v = min(len(a),len(b))
        i = 1
        while i <=min_v:
            sum = int(a[-i])+int(b[-i])+carry
            if sum >1:
                carry = 1
                sum -=2
            else:
                carry =0
            res = str(sum) + res
            i+=1
        sum =0
        if len(a)> min_v:
            j = len(a)-min_v-1
            while j >=0:
                sum = int(a[j])+carry
                if sum < 2:
                    carry = 0
                else:
                    sum-=2
                    carry =1
                res = str(sum) + res
                j-=1
        if len(b)>min_v:
            j = len(b)-min_v-1
            while j >=0:
                sum = int(b[j])+carry
                if sum < 2:
                    carry = 0
                else:
                    sum-=2
                    carry =1
                res = str(sum) + res
                j-=1
        if carry:
            res = '1'+res
        return res                    
       ```
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容