Add Binary - LeetCode
Add Binary - LeetCode
タイトル:
Given two binary strings, return their sum (also a binary string). For example, a =
バイナリ加算、簡単です.私はaとbを反転して、ビット単位で加算することを選択しました.
コード:
タイトル:
Given two binary strings, return their sum (also a binary string). For example, a =
"11"
b = "1"
Return "100"
. 分析:バイナリ加算、簡単です.私はaとbを反転して、ビット単位で加算することを選択しました.
コード:
class Solution:
# @param a, a string
# @param b, a string
# @return a string
def addBinary(self, a, b):
a = a[::-1]
b = b[::-1]
if len(a) > len(b):
temp = self.add(a,b)
else:
temp = self.add(b,a)
s = ''
for i in temp[::-1]:
s += str(i)
return s
def add(self,a,b):
temp = [int(i) for i in a]
for i in range(len(b)):
temp[i] = temp[i] + int(b[i])
if temp[i] == 2:
j = i
while j < len(temp)-1:
if temp[j] == 2:
temp[j] = 0
temp[j+1] += 1
j += 1
if temp[-1] >= 2:
temp[-1] -= 2
temp.append(1)
return temp