leetcode 67 二进制求和
程序员文章站
2024-03-22 15:00:34
...
67 二进制求和
给定两个二进制字符串,返回他们的和(用二进制表示)。
输入为非空字符串且只包含数字 1 和 0。
示例 1:
输入: a = “11”, b = “1” 输出: “100” 示例 2:
输入: a = “1010”, b = “1011” 输出: “10101”
class Solution {
public String addBinary(String a, String b) {
StringBuilder str = 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';
str.append(sum%2);
carry = sum/2;
}
if(carry!=0) str.append(carry);
return str.reverse().toString();
}
}