Given two binary strings, return their sum (also a binary string).
The input strings are both non-empty and contains only characters 1 or 0.
Example
Example 1:
1 2
Input: a = "11", b = "1" Output: "100"
Example 2:
1 2
Input: a = "1010", b = "1011" Output: "10101"
Solution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
publicclassSolution{ public String addBinary(String a, String b){ String res = ""; int i = a.length() - 1, j = b.length() -1, carry = 0; while (i >= 0 || j >= 0) { int sum = carry; if (j >= 0) sum += b.charAt(j--) - '0'; if (i >= 0) sum += a.charAt(i--) - '0'; res = (sum % 2) + res; carry = sum / 2; } if (carry != 0) res = carry + res; return res; } }