Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100"
.
public static String addBinary(String a, String b)
{
int i = a.length() - 1;
int j = b.length() - 1;
int carry=0;
StringBuilder stack = new StringBuilder();
for(;i>=0 || j>=0;i--,j--)
{
int tmpa= i<0? 0 : a.charAt(i)-0x30;
int tmpb= j<0? 0 : b.charAt(j)-0x30;
int sum = tmpa+tmpb+carry;
if(sum>1)
{
stack.append(sum - 2);
carry = 1;
} else
{
stack.append(sum);
carry = 0;
}
}
if(carry==1)
stack.append(1);
return stack.reverse().toString();
}