leetcode 67 add binaies

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

For example,
a = "11"
b = "1"
Return "100".


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class {
public String addBinaires(String a, String b){
int i = a.length()-1;
int j = b.length()-1;
StringBuilder result = new StringBuilder();
int 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';
}
result.append(sum%2);
carry = sum / 2;
}
if(carry != 0){
result.append(carry);
}
return result.reverse().toString();
}
}
  • 加法问题从后往前遍历数组
  • 有进位时设置一个carry
  • StringBuilder