没做出来,去查了一下,感觉这种方法挺好的。
public class AddBinary {
public static void main(String[] args) {
String a="11",b="1";
AddBinary addBinary=new AddBinary();
System.out.println(addBinary.myaddBinary(a,b));
}
public String myaddBinary(String a, String b) {
int count=0;//进位
String attr="";
//注意-1
int na=a.length()-1;
int nb=b.length()-1;
while (na>=0||nb>=0||count==1)
{
int sum=count;
//同步往前走,直到有一个到头,另一个接着走
if(na>=0)
{
sum+=(a.charAt(na--)-'0');
}
if(nb>=0)
{
sum+=(b.charAt(nb--)-'0');
}
count=sum/2;
attr=sum%2+""+ attr;
}
return attr;
}
}