Add Binary

Posted xbc121

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Add Binary相关的知识,希望对你有一定的参考价值。

思路很简单,使用两个指针i和j,分别用来遍历字符串a和字符串b。使用一个全局变量carry来记录其进位,使用一个局部变量sum来记录每一次指针所指向的数字相加之和与carry的和。然后,重新给carry和sum赋值,让sum和carry等于0或1。最后如果carry等于1,就需要将它append。最后使用reverse方法进行反转即可得到答案。需要注意的是,StringBuilder中的append方法中参数是int,long,double,boolean等数据类型,会自动将其原内容转换成字符串来进行添加。

代码如下:

class Solution {
public String addBinary(String a, String b) {
int i=a.length()-1;
int j=b.length()-1;
int carry=0;
StringBuilder sb=new StringBuilder();
while(i>=0||j>=0){
int sum=0;
sum+=i>=0?a.charAt(i)-‘0‘:0;
sum+=j>=0?b.charAt(j)-‘0‘:0;
sum+=carry;
carry=sum/2;
sum=sum%2;
sb.append(sum);//append方法会直接将sum转换成字符串
i--;
j--;
}
if(carry==1){
sb.append(carry);
}
return sb.reverse().toString();
}
}

以上是关于Add Binary的主要内容,如果未能解决你的问题,请参考以下文章

add up to和add to,add…up ,add…to区别

类型错误:listingsRef.add 不是函数。 (在 'listingsRef.add(updatedUploadObjects)' 中,'listingsRef.add' 未定义)

git add -A git add -u git add . 三种区别

add和add to的区别?

add和add to有啥区别,不能直接用add sth吗,add to有导致的意思吗

markdown `git add -A` vs`git add .` vs`git add -u`