# 67. Add Binary

Given two binary strings, return their sum (also a binary string).

For example, a = "11" b = "1" Return "100".

## Solution <a href="#solution" id="solution"></a>

```java
public class Solution {

         public String addBinary(String a, String b) {
        int i= a.length() - 1, j = b.length() - 1;

        StringBuffer result = new StringBuffer();

        int adder = 0;
        int m, n;
        while (i > -1 && j > -1) {
            m = Integer.valueOf(a.charAt(i) - 48);
            n = Integer.valueOf(b.charAt(j) - 48);

            int temp = m + n + adder;
            adder = temp / 2;
            result.append(temp % 2);

            i --; j--;
        }


        if (i == -1) {
            while (j > -1) {

                int temp = adder + Integer.valueOf(b.charAt(j) - 48);
                adder = temp / 2;
                result.append(temp % 2);
                j --;
            }

        } else {

            while (i > -1) {

                int temp = adder + Integer.valueOf(a.charAt(i) - 48);
                adder = temp / 2;
                result.append(temp % 2);

                i --;
            }

        }

        if (adder != 0) {
            result.append(adder);
        }


        return result.reverse().toString();

    }
}
```
