Problem:
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100"
.
Analysis:
Solutions:
C++:
string addBinary(string a, string b) {
if(a.size() < b.size()) {
string temp = a;
a = b;
b = temp;
}
for(int i = b.size() - 1; i >= 0; --i) {
if(b[i] == '0')
continue;
int j = a.size() - (b.size() - i);
for(; j >= 0; --j) {
if(a[j] == '0') {
a[j] = '1';
break;
} else {
a[j] = '0';
if(j == 0)
a.insert(a.begin(), '1');
}
}
}
return a;
}
Java:
Python: