您的位置:首页 > 其它

[Leetcode]Add Binary

2015-08-11 20:59 295 查看
Given two binary strings, return their sum (also a binary string).

For example,

a =
"11"


b =
"1"


Return
"100"
.

class Solution {
public:
/*algorithm
add it from the tail, plug carry
time O(max(m,n)) space O(max(m,n) + 1)
*/
string addBinary(string a, string b) {
int m = a.size(),n = b.size();
string s;
int carry = 0,sum;
char c;
while(m > 0 || n > 0){
sum = carry;
if(m > 0)sum += a[--m] - '0';
if(n > 0)sum += b[--n] -'0';
c = sum%2 + '0';
carry = sum/2;
s.insert(0,1,c);
}
if(carry > 0)s.insert(0,1,'1');
return s;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode 算法