Given two binary strings, return their sum (also a binary string).
For example,
a =
b =
Return
a =
"11"
b =
"1"
Return
"100"
.Solution:
class Solution: # @param a, a string # @param b, a string # @return a string def addBinary(self, a, b): solution = [] sum = 0 for i in range(0,max(len(a),len(b))): if i < len(a) and a[len(a)-1-i]=='1': sum += 1 if i < len(b) and b[len(b)-1-i]=='1': sum += 1 solution.insert(0,str(sum%2)) sum /= 2 if sum >0: solution.insert(0,str(sum%2)) return ''.join(solution)
nice answer, except isn't 'insert' a bit heavy on time complexity? would this be sped up by pre-allocating 'solution' and setting items to solution[-i-1]?
ReplyDelete