Hello everyone , I'm Qi Guanjie (qí guān jié ), stay 【 Qi Guanjie 】 official account 、CSDN、GitHub、B Share some technical blog posts on the website and other platforms , It mainly includes front-end development 、python The backend development 、 Applet development 、 Data structure and algorithm 、docker、Linux Common operation and maintenance 、NLP And other related technical blog , Time flies , Future period , come on. ~
If you love bloggers, you can focus on the bloggers' official account. 【 Qi Guanjie 】(qí guān jié), The articles inside are more complete and updated faster . If you need to find a blogger, you can leave a message at the official account. , I will reply to the message as soon as possible .
This article was originally written as 【 Qi Guanjie 】(qí guān jié ), Please support the original , Some platforms have been stealing blog articles maliciously !!! All articles please pay attention to WeChat official account 【 Qi Guanjie 】.
Here are two binary strings , Returns the sum of them ( In binary ).
Input is Non empty String and contains only numbers 1
and 0
.
Example 1:
Input : a = "11", b = "1"
Output : "100"
Example 2:
Input : a = "1010", b = "1011"
Output : "10101"
Tips :
'0'
or '1'
form .1 <= a.length, b.length <= 10^4
"0"
, No leading zeros .class Solution:
def addBinary(self, a: str, b: str) -> str:
a,b = a[::-1],b[::-1]
n,m,i = len(a),len(b),0
res = ""
p = 0
while i < n or i < m or p:
ta = int(a[i]) if i < n else 0
tb = int(b[i]) if i < m else 0
tmp = (ta+tb+p)%2
p = (ta+tb+p)//2
res = res + str(tmp)
i += 1
return res[::-1]