以字符串形式给出两个二进制数字,使这两个数字相加得到一个和(和仍为二进制数字)
如:
“11”
“1”
和为:“100”
代码如下:
public class AddBinary {
public static String addBinary(String a,String b){
StringBuilder sb = new StringBuilder();
int i=a.length()-1,j=b.length()-1,carry=0;
while(i >= 0 || j>=0){
int sum=carry;
if(i>=0)
sum += a.charAt(i--)-'0';
if(j>=0)
sum += b.charAt(j--)-'0';
sb.append(sum%2);
carry = sum/2;
}
if(carry !=0)
sb.append(carry);
return sb.reverse().toString();
}
public static void main(String[] args) {
String a = "11";
String b = "1";
System.out.println(addBinary(a,b));
}
}