码迷,mamicode.com
首页 > 其他好文 > 详细

Add Binary

时间:2019-10-27 01:21:37      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:pen   使用   局部变量   数据   代码   solution   turn   app   全局变量   

思路很简单,使用两个指针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

标签:pen   使用   局部变量   数据   代码   solution   turn   app   全局变量   

原文地址:https://www.cnblogs.com/xbc121/p/11746226.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!