Given two binary strings, return their sum (also a binary string).
For example,
a = “11”
b = “1”
Return “100”.
public String addBinary(String a, String b) {
int inta = Integer.parseInt(a, 2);
int intb = Integer.parseInt(b, 2);
return Integer.toBinaryString(inta+intb);
}
范围不够
还是得重写。。。
public String addBinary(String a, String b) {
StringBuffer result = new StringBuffer();
int i = a.length()-1;
int j = b.length()-1;
int carry = 0;
for(;i >= 0 && j >= 0;i--,j--){
result.append((a.charAt(i)-'0' + b.charAt(j)-'0' + carry) % 2);
carry = (a.charAt(i)-'0' + b.charAt(j)-'0' + carry) / 2;
}
if(i >= 0){
for(;i >= 0;i--){
result.append((a.charAt(i)-'0' + carry) % 2);
carry = (a.charAt(i)-'0' + carry) / 2;
}
}
else{
for(;j >= 0;j--){
result.append((b.charAt(j)-'0' + carry) % 2);
carry = (b.charAt(j)-'0' + carry) / 2;
}
}
if(carry != 0) result.append(carry);
return result.reverse().toString();
}
本文介绍了一种解决两个二进制字符串相加的问题的方法。通过解析二进制字符串为整数并进行相加,再将结果转换回二进制字符串。此外,还提供了一种不使用内置转换函数的实现方式,通过逐位相加并处理进位来完成运算。
544

被折叠的 条评论
为什么被折叠?



