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 la = a.length()-1;
int lb = b.length()-1;
int flag = 0;
StringBuilder sb = new StringBuilder();
while(la>=0&&lb>=0){
int t = (int)((a.charAt(la)-'0')+(b.charAt(lb)-'0')+flag);
flag = t/2;
t = t%2;
sb.append(t);
la--;
lb--;
}
while(la>=0){
int t = (int)((a.charAt(la)-'0')+flag);
flag = t/2;
t = t%2;
sb.append(t);
la--;
}
while(lb>=0){
int t = (int)((b.charAt(lb)-'0')+flag);
flag = t/2;
t = t%2;
sb.append(t);
lb--;
}
if(flag>0)sb.append(flag);
return sb.reverse().toString();
}
}
本文介绍了一种解决二进制字符串相加问题的方法。通过逐位相加并考虑进位的方式,实现了两个二进制字符串的加法运算。文章提供了一个具体的实现案例,并详细解释了算法流程。
521

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



