[Math/String]67. Add Binary

  • 分類:Math/String
  • 時間復(fù)雜度: O(n)

67. Add Binary

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

The input strings are both non-empty and contains only characters 1 or 0.

Example 1:

Input: a = "11", b = "1"
Output: "100"

Example 2:

Input: a = "1010", b = "1011"
Output: "10101"

代碼:

class Solution:
    def addBinary(self, a: 'str', b: 'str') -> 'str':
        
        if len(a)>len(b):
            long=a
            short=b
        else:
            long=b
            short=a
        
        n=min(len(a),len(b))
        m=max(len(a),len(b))
        
        res=""
        sum_=0
        
        for i in range(n):
            sum_+=int(b[-1-i])+int(a[-1-i])
            current=sum_%2
            res=str(current)+res
            sum_=sum_//2        
            
        for i in range(n,m):
            sum_+=int(long[-1-i])
            current=sum_%2
            res=str(current)+res
            sum_=sum_//2
            
        if sum_!=0:
            res=str(sum_)+res
            
        return res

討論:

1.雖然此代碼很丑,但是效率最高!good!keep moving!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

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