给你两个二进制字符串,返回它们的和(用二进制表示)。
输入为 非空 字符串且只包含数字 1 和 0。
import java.util.*; public class Solution { // 二进制字符串求和 public String addBinary (String a, String b) { StringBuilder res = new StringBuilder(); int i = a.length()-1, j = b.length()-1; int carry = 0; while (i >= 0 || j >= 0) { int val = 0; val += carry; if (i >= 0) val += a.charAt(i--)-'0'; if (j >= 0) val += b.charAt(j--)-'0'; carry = val / 2; val %= 2; res.insert(0, val); } if (carry > 0) res.insert(0, carry); return res.toString(); } }