Given two binary strings, return their sum (also a binary string).
For example,
a = “11”
b = “1”
Return “100”.
山外青山楼外楼,单说一句666;
class Solution {
public:
string addBinary(string a, string b) {
string result= "";
int i = a.size()-1,j=b.size()-1,c=0;
//加法过程中两个数任意一个非空 或者进位不空
while(i>=0||j>=0||c==1){
c += i>=0?a[i--]-'0':0;
c += j>=0?b[j--]-'0':0;
result = char(c%2+'0')+result;
c/=2;
}
return result;
}
};
瞅别人的,可以说是很优雅了;
本文介绍了一种优雅的方法来实现两个二进制字符串的相加操作。通过遍历两个字符串从最低位开始逐位相加,并处理进位,最终得到结果的二进制字符串。

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



