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();
}
}