Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100"
.
先将字符串转换成int数组,之后的运算便容易多了
public class Solution {
public String addBinary(String a, String b) {
StringBuilder r1=new StringBuilder();
int[] aa=new int[a.length()],bb=new int[b.length()];
for(int i=0;i<a.length();i++){
aa[i]=a.charAt(a.length()-1-i)-'0';
}
for(int i=0;i<b.length();i++){
bb[i]=b.charAt(b.length()-1-i)-'0';
}
int i=0,sum=0;
while(i<aa.length||i<bb.length){
if(i<aa.length){
sum+=aa[i];
}
if(i<bb.length){
sum+=bb[i];
}
r1.append((char)(sum%2+'0'));
sum/=2;
i++;
}
if(sum!=0)r1.append((char)(sum+'0'));
return r1.reverse().toString();
}
}