https://leetcode.com/problems/add-binary/
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) {
char[] sa = a.toCharArray();
char[] sb = b.toCharArray();
int i=sa.length-1;
int j = sb.length-1;
char[] longer = i>=j? sa:sb;
int left = i>=j? i:j;
int carry = 0;
while(i>=0 && j>=0){
int val = (sa[i]-'0') + (sb[j]-'0') + carry;
longer[left] = (char)(val%2 + '0');
carry = val/2;
i--;
j--;
left--;
}
while(left>=0){
int val = (longer[left]-'0') + carry;
longer[left] = (char)(val%2 + '0');
carry = val/2;
left--;
}
String rst = new String(longer);
if(carry>0) rst = "1" + rst;
return rst;
}
161

被折叠的 条评论
为什么被折叠?



