题目传送地址: ​​https://leetcode.cn/problems/add-binary/​

运行效率

Leetcode67. 二进制求和_leetcode


代码如下:

class Solution {
public static String addBinary(String a, String b) {
StringBuilder res = new StringBuilder();
int left = a.length() - 1;
int right = b.length() - 1;
int carry = 0;// 进位
while ((left >= 0 && right >= 0) || carry == 1) {
int i = 0;
if (left >= 0) {
i = a.charAt(left) - '0';
}
int i1 = 0;
if (right >= 0) {
i1 = b.charAt(right) - '0';
}
int sum = i + i1 + carry;
if (sum >= 2) {
carry = 1;
} else {
carry = 0;
}
res.insert(0, sum % 2);
left--;
right--;
}
if (left >= 0) {
String substring = a.substring(0, left + 1);
res.insert(0, substring);
}
if (right >= 0) {
String substring = b.substring(0, right + 1);
res.insert(0, substring);
}
return res.toString();
}
}