Example: Binary String SUM - rFronteddu/general_wiki GitHub Wiki

Given two binary strings a and b, return their sum as a binary string.

class Solution {
    public String addBinary (String a, String b) {
        var acr = a.toCharArray();
        var bcr = b.toCharArray();
             
        int i = acr.length - 1;
        int j = bcr.length - 1;
        
        StringBuilder str = new StringBuilder();
        int carry = 0;
        
        while (i >= 0 || j >= 0 || carry > 0) {
            int sum = carry;
            
            if (i >= 0) {
               sum += acr[i] - '0';
               i--;
            }
            if (j >= 0) {
                sum += bcr[j] - '0';
                j--;
            }
            // Append the result bit to the beginning of the StringBuilder
            str.insert(0, sum % 2);
            
            // Calculate the carry for the next iteration
            carry = sum / 2;
        }
        
        return str.toString();
    }
}