Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100"
.
题意:将两个代表二进制数的字符串相加得到一个二进制结果
代码:
public class Solution {
public String addBinary(String a, String b) {
int length1 = a.length(), length2 = b.length();
if(length1 < length2)
return addBinary(b, a);
String pre = "",result = "", rr = "";
for(int i = 1; i <= length1 - length2; i++)
pre += "0";
b = pre + b;
int i = length1 - 1,tmp = 0;
while(i >= 0)
{
int aa = a.charAt(i) - '0';
int bb = b.charAt(i) - '0';
result += (aa + bb + tmp) % 2;
tmp = (aa + bb + tmp) / 2;
i--;
}
if(tmp == 1)
result += tmp;
int length = result.length();
for(i = length - 1; i >= 0; i--)
rr += result.charAt(i);
return rr;
}
}