import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param A string字符串
* @param B string字符串
* @return string字符串
*/
public String binaryAdd (String A, String B) {
// write code here
// 解题思路:1.分别对2个字符串反转
// 2.将字符转为int
// 3.相加对2取整和取余
// 4.拼接字符串,将拼接结果反转
String reverseA = new StringBuilder().append(A).reverse().toString();
String reverseB = new StringBuilder().append(B).reverse().toString();
int size = Math.max(reverseA.length(), reverseB.length());
char[] charA = reverseA.toCharArray();
char[] charB = reverseB.toCharArray();
StringBuilder builder = new StringBuilder();
int s = 0;
for (int i = 0; i < size; i++) {
int a = charA.length <= i ? 0 : Integer.valueOf(String.valueOf(charA[i]));
int b = charB.length <= i ? 0 : Integer.valueOf(String.valueOf(charB[i]));
int sum = a + b + s;
s = sum / 2;
builder.append(sum % 2);
}
if (s != 0) {
builder.append(s);
}
return builder.reverse().toString();
}
}