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

(java)Add Binary

2015-12-29 09:42 489 查看
Given two binary strings, return their sum (also a binary string).

For example,

a =
"11"


b =
"1"


Return
"100"
.

思路:就是普通的加法,加入进位就行。注意循环结束的时候,如果进位为1,则在前面加一个1就可

代码如下(已通过leetcode)

public class Solution {

public String addBinary(String a, String b) {

int lengthA=a.length();

int lengthB=b.length();

if(a.length()>b.length()) {

for(int i=0;i<lengthA-lengthB;i++) b='0'+b;

} else for(int i=0;i<lengthB-lengthA;i++) a='0'+a;

int temp=0;

String ans="";

for(int i=a.length()-1;i>=0;i--) {

if((a.charAt(i)-'0')+(b.charAt(i)-'0')+temp>1) {

ans=(a.charAt(i)-'0')+(b.charAt(i)-'0')+temp-2+ans;

temp=1;

} else {

ans=(a.charAt(i)-'0')+(b.charAt(i)-'0')+temp+ans;

temp=0;

}

}

if(temp==1) ans=temp+ans;

return ans;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: