从两个string的尾部开始逐位相加,用一个变量记录进位即可。
public class Solution {
public String addBinary(String a, String b) {
int l1=a.length();
int l2=b.length();
String res="";
int count=0;
while( l1>0||l2>0 )
{
l1--;
l2--;
int t1,t2;
if(l1<0)
{
t1=0;
}
else if( a.charAt(l1)=='1' )
{
t1=1;
}
else
{
t1=0;
}
if(l2<0)
{
t2=0;
}
else if( b.charAt(l2)=='1' )
{
t2=1;
}
else
{
t2=0;
}
int sum=t1+t2+count;
count = sum/2;
res = sum%2+res;
}
if( count==1 )
{
res = 1+res;
}
return res;
}
}
本文介绍了一种使用Java实现的二进制字符串相加算法,该算法从两个字符串的尾部开始逐位相加,并使用一个变量记录进位。详细解释了算法的实现过程和代码实现。
357

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



