您的位置:首页 > 其它

*Add Binary

2015-09-11 07:39 302 查看
Given two binary strings, return their sum (also a binary string).
For example,
a =
"11"

b =
"1"

Return
"100"
.

public String addBinary(String a, String b) {
if (a==null ||a.length()==0){
return b;
}

if (b==null || b.length()==0){
return a;
}

StringBuilder sb=new StringBuilder();

int lastA=a.length()-1;
int lastB=b.length()-1;
int carry=0;

while (lastA>=0 ||lastB>=0 ||carry>0){
int num1=lastA>=0?a.charAt(lastA--)-'0':0;
int num2=lastB>=0?b.charAt(lastB--)-'0':0;
int current=(num1+num2+carry)%2;
carry=(num1+num2+carry)/2;

sb.insert(0, current);

}

return sb.toString();
}


reference: http://rleetcode.blogspot.com/2014/02/add-binary-java.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: