Still two solutions: one to use built-in function, another to do it normally.
Solution 1:
class Solution: # @param {string} a # @param {string} b # @return {string} def addBinary(self, a, b): return bin(int(a,2)+int(b,2))[2:]Run Time: 60 ms
Solution 2:
# T:O(n) S:O(1) class Solution: # @param a, a string # @param b, a string # @return a string def addBinary(self, a, b): aIndex, bIndex, flag, s = len(a)-1, len(b)-1, 0, '' while aIndex>=0 and bIndex>=0: num = int(a[aIndex])+int(b[bIndex])+flag flag = num/2; num %= 2 s = str(num) + s aIndex -= 1; bIndex -= 1 while aIndex>=0: num = int(a[aIndex])+flag flag = num/2; num %= 2 s = str(num) + s aIndex -= 1 while bIndex>=0: num = int(b[bIndex])+flag flag = num/2; num %= 2 s = str(num) + s bIndex -= 1 if flag == 1: s = '1' + s return sRun Time: 60 ms
No comments:
Post a Comment