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(); } }