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 . 三种区别