给你两个二进制字符串,返回它们的和(用二进制表示)。
输入为 非空 字符串且只包含数字 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();
}
}