67. Add Binary

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

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

思路:s.charAt(i) - '0' 可以得到数值。另外一个是StringBuilder.reverse().toString(),有用的函数

    public String addBinary(String a, String b) {
        StringBuilder sb = 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';
                i--;
            }
            if (j>=0){
                sum += b.charAt(j)-'0';
                j--;
            }
            carry = sum/2;
            sb.append(sum%2);
        }
        if (carry!=0){
            sb.append(carry);
        }

        return sb.reverse().toString();
    }
}

results matching ""

    No results matching ""