给你两个二进制字符串,返回它们的和(用二进制表示)。
输入为 非空 字符串且只包含数字 1 和 0。
public String addBinary(String a, String b) {
// 字符串超过int限制
return Integer.toBinaryString(Integer.parseInt(a, 2) + Integer.parseInt(b, 2));
}
public String addBinary(String a, String b) {
int lena = a.length(); int lenb = b.length();
int carry = 0;
StringBuilder stringBuilder = new StringBuilder();
while(lena > 0 || lenb > 0 || carry != 0){
int tmp1 = lena > 0 ? a.charAt(lena-1)-‘0‘: 0;
int tmp2 = lenb > 0 ? b.charAt(lenb-1)-‘0‘: 0;
int carrytmp = carry + tmp1 + tmp2;
System.out.println(carrytmp);
carry = carrytmp / 2;
stringBuilder.insert(0, carrytmp % 2);
lena --;
lenb --;
}
return stringBuilder.toString();
}
addBinary