class Solution {
public String addBinary(String a, String b) {
StringBuilder sb = new StringBuilder();
int AIdx = a.length() - 1;
int BIdx = b.length() - 1;
int counter = 0;
while(AIdx >= 0 || BIdx >= 0 || counter == 1) {
int ai = 0, bi = 0;
if(AIdx >= 0) {
ai = a.charAt(AIdx) - '0';
}
if(BIdx >= 0) {
bi = b.charAt(BIdx) - '0';
}
int current = ai + bi + counter;
sb.append(current%2);
counter = current/2;
BIdx--;
AIdx--;
}
return sb.reverse().toString();
}
}