PROBLEM:
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100".
SOLVE(C++):
class Solution{
public:
string addBinary(string a, string b){
string s = "";
int c = 0, i = a.size() - 1, j = b.size() - 1;
while(i >= 0 || j >= 0 || c == 1){
c += i >= 0 ? a[i --] - '0' : 0;
c += j >= 0 ? b[j --] - '0' : 0;
s = char(c % 2 + '0') + s;
c /= 2;
}
return s;
}
};该解法写的很简练。
本文提供了一种简洁高效的 C++ 解决方案来实现两个二进制字符串的相加操作。通过对输入的二进制字符串进行逐位相加并考虑进位情况,最终返回结果也是一个二进制字符串。
7703

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



