67. Add Binary
class Solution {
public String addBinary(String a, String b) {
StringBuilder result = new StringBuilder();
int i=a.length()-1, j=b.length()-1, carry =0;
while(i>=0 || j>=0){
int sum = carry;
if(i>=0) sum+= a.charAt(i--)-'0';
if(j>=0) sum+= b.charAt(j--)-'0';
carry = sum/2;
result.append(sum%2);
}
// remember: while loop stops when i,and j reach the head of strins,
// but carry may be 1
if(carry>0) result.append(carry);
return result.reverse().toString();
}
}
Last updated
Was this helpful?