Leetcode: Add Binary

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();
    }
}