您的位置:首页 > 其它

67. Add Binary

2016-01-15 14:38 225 查看
Given two binary strings, return their sum (also a binary string).

For example,

a = “11”

b = “1”

Return “100”.

public class Solution {
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 la = a.length(),lb = b.length(),add = 0;
int i = la-1,j = lb-1;
while(i >= 0 || j >= 0 || add != 0){
int ta = i >= 0?a.charAt(i)-'0':0;
int tb = j >= 0?b.charAt(j)-'0':0;
int tr = ta^tb^add;
add = (ta+tb+add) > 1?1:0;      //进位
sb.append(tr);
i--;
j--;
}
return sb.reverse().toString();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: