lurenaa的博客

实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class Solution {
public:
string addBinary(string a, string b) {
if(a.size() < b.size())
swap(a, b);
auto br_i = b.rbegin();
auto ar_i = a.rbegin();
while(br_i != b.rend()){
*ar_i = (*ar_i - 48) + (*br_i - 48) + 48;
++ar_i;
++br_i;
}
cout << a << endl;
ar_i = a.rbegin();
int save = 0;
while(ar_i != a.rend()) {
*ar_i = *ar_i + save;
save = 0;
if(*ar_i >= '2') {
save = 1;
int val = (*ar_i - 48) % 2;
*ar_i = val + 48;
}
++ar_i;
}
if(save)
a = '1' + a;
return a;
}
};

Accepted

294/294 cases passed (4 ms)

Your runtime beats 86.75 % of cpp submissions

Your memory usage beats 38.03 % of cpp submissions (8.8 MB)