*Add Binary

Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100".
 
 
 
 1     public String addBinary(String a, String b) {
 2         if (a==null ||a.length()==0){
 3             return b;
 4         }
 5         
 6         if (b==null || b.length()==0){
 7             return a;
 8         }
 9         
10        StringBuilder sb=new StringBuilder();
11        
12         
13         int lastA=a.length()-1;
14         int lastB=b.length()-1;
15         int carry=0;
16         
17         
18         while (lastA>=0 ||lastB>=0 ||carry>0){
19             int num1=lastA>=0?a.charAt(lastA--)-'0':0;
20             int num2=lastB>=0?b.charAt(lastB--)-'0':0;
21             int current=(num1+num2+carry)%2;
22             carry=(num1+num2+carry)/2;
23             
24             sb.insert(0, current);
25             
26             
27         }
28         
29         return sb.toString();
30     }
 
reference: http://rleetcode.blogspot.com/2014/02/add-binary-java.html
原文地址:https://www.cnblogs.com/hygeia/p/4799856.html