public class Solution {
public String addBinary(String a, String b) {
StringBuilder sb=new StringBuilder();
int i=a.length()-1,j=b.length()-1;
boolean carry=false;
while(i>=0||j>=0){
if((i<0||a.charAt(i)=='0')&&(j<0||b.charAt(j)=='0')){
if(carry)sb.insert(0,'1');
else sb.insert(0,'0');
carry=false;
}else if(i>=0&&j>=0&&a.charAt(i)=='1'&&b.charAt(j)=='1'){
if(carry)sb.insert(0,'1');
else sb.insert(0,'0');
carry=true;
}else{
if(carry)sb.insert(0,'0');
else sb.insert(0,'1');
}
i--;j--;
}
if(carry)
sb.insert(0,'1');
return sb.toString();
}
}