Leetcode - add binary String
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100".
For example,
a = "11"
b = "1"
Return "100".
public class Solution {
public String addBinary(String a, String b) {
StringBuilder str = new StringBuilder();
int alen = a.length() ;
int blen = b.length();
int count = 0;
int carry = 0;
if(alen == blen) {
for(int i=alen-1; i >= 0; i--) {
if(a.charAt(i) == '1') {
count++;
}
if( b.charAt(i) == '1') {
count++;
}
if(carry == 1 ) {
count++;
}
carry = (count > 1 ? 1: 0);
str.insert(0,((count ==0 ) || count ==2)? '0': '1' );
count = 0;
}
if( carry==1) {
str.insert(0, '1');
}
}
if(alen > blen) {
b = "0" + b;
System.out.println("b="+ b);
return addBinary(a, b);
}
if(alen < blen) {
a = "0" +a;
return addBinary(a,b);
}
return str.toString();
}
本文介绍了一个LeetCode上的经典问题:如何实现两个二进制字符串的相加操作,并提供了一段详细的Java代码解决方案。该算法通过逐位处理输入的二进制字符串并考虑进位情况来计算出最终的二进制结果。
7435

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



