```
class Solution:
# @param a, a string
# @param b, a string
# @return a string
def addBinary(self, a, b):
maxLen = max(len(a), len(b))
result = [0] * maxLen
if len(a) > len(b):
tempB = '0' * (len(a)-len(b)) + b
tempA = a
else:
tempA = '0' * (len(b)-len(a)) + a
tempB = b
for i in range(maxLen-1, -1, -1):
x = int(tempA[i]) + int(tempB[i])
if x == 2 or x == 0:
pass
else:
result[i] += 1
if result[0] == 0:
result.insert(0, 1)
return ''.join(str(e) for e in result)
```

which failed the case('0', '0'), gave an wrong answer '0',

Actually on local, which output the correct answer '10'.