Given two binary strings, return their sum (also a binary string).
For example,
a = “11”
b = “1”
Return “100”.
初始化tmp
每一位和tmp的值相加
tmp / 2为下一轮的tmp
tmp % 2为该位应该填上的数
public String addBinary(String a, String b) {
String result = new String("");
char[] ac = a.toCharArray();
char[] bc = b.toCharArray();
int i = a.length() - 1;
int j = b.length() - 1;
int tmp = 0;
while (i >= 0 || j >= 0 || tmp > 0) {
tmp += i >= 0 ? ac[i--] - '0' : 0;
tmp += j >= 0 ? bc[j--] - '0' : 0;
result = tmp % 2 + result;
tmp /= 2;
}
return result;
}