【题目】
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100".
【解析】
字符串类型的二进制加法,从后往前加,再设置一个进位就ok了。
【代码】
public String addBinary(String a, String b) {
StringBuilder res = new StringBuilder("");
int m = a.length();
int n = b.length();
int flag = 0;
int i=m-1,j=n-1;
while(i>=0||j>=0||flag>0){
if(i>=0) flag=a.charAt(i)-'0'+flag;
if(j>=0) flag=b.charAt(j)-'0'+flag;
if(flag<2){
res.append(flag);
flag=0;
}
else if(flag>2){
res.append(flag-2);
flag=1;
}
else{
res.append("0");
flag=1;
}
i--;
j--;
}
return res.reverse().toString();
}
本文介绍了一种解决二进制字符串加法的方法。通过从字符串末尾开始逐位相加,并考虑进位的情况,实现了两个二进制字符串的加法运算。
6万+

被折叠的 条评论
为什么被折叠?



