您的位置:首页 > 编程语言 > Java开发

【leetcode】第67题 Add Binary 题目+解析+JAVA代码

2017-09-02 21:36 609 查看
【题目】

Given two binary strings, return their sum (also a binary string).

For example,

a = 
"11"


b = 
"1"


Return 
"100"
.
【解析】

字符串类型的二进制加法,从后往前加,再设置一个进位就ok了。

【代码】

public String addBinary(String a, String b) {
StringBuilder res = new StringBuilder("");
int m = a.length();
int n = b.length();
int flag = 0;
int i=m-1,j=n-1;
while(i>=0||j>=0||flag>0){
if(i>=0) flag=a.charAt(i)-'0'+flag;
if(j>=0) flag=b.charAt(j)-'0'+flag;
if(flag<2){
res.append(flag);
flag=0;
}
else if(flag>2){
res.append(flag-2);
flag=1;
}
else{
res.append("0");
flag=1;
}
i--;
j--;
}
return res.reverse().toString();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: