class Solution {
public:
string addBinary(string a, string b) {
if(a.length() < b.length())
swap(a,b);
int i = a.length()-1,j=b.length()-1;
for(;j>=0;i--,j--){
a[i] = a[i]+b[j]-'0';
if(i > 0 && a[i] >= '2'){
a[i] -= 2;
a[i-1] += 1;
}
}
while(i>0){
if(a[i] > '1'){
a[i]-=2;
a[i-1]+=1;
}
i--;
}
if(a[0] > '1'){
a[0] -= 2;
a = '1'+a;
}
return a;
}
};