Add Binary

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

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

public String addBinary(String a, String b) {
        StringBuilder stringBuilder = new StringBuilder();

        int i = a.length()-1;
        int j = b.length()-1;
        int carry = 0;
        while (i>=0||j>=0){
            int sum = carry;
            if (i>=0) sum+=a.charAt(i--)-'0';
            if (j>=0) sum+=b.charAt(j--)-'0';
            stringBuilder.append(sum%2);
            carry = sum/2;
        }
        if (carry>0) stringBuilder.append(carry);
        return stringBuilder.reverse().toString();
    }
posted @ 2018-03-14 11:18  binryang  阅读(81)  评论(0编辑  收藏  举报