Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100"
.
模拟二进制加法,先逆置字符串,补全短串的前导0,最后注意首位进位!
class Solution {
public:
string addBinary(string a, string b) {
reverse(a.begin(),a.end());
reverse(b.begin(),b.end());
if(a.size()>b.size()) swap(a,b);
while(a.size()<b.size()) a+='0';
int add=0;
for(int i=0;i<a.size();i++)
{
int sum=add+a[i]+b[i]-'0'-'0';
b[i]=sum%2+'0';
add=sum/2;
}
if(add) b+='1';
reverse(b.begin(),b.end());
return b;
}
};
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有