67. 二进制求和
67. 二进制求和
位运算, 这种题之前没写过
class Solution {
public:
string addBinary(string a, string b) {
//补齐
int abs = a.size()-b.size();
//b 前面补abs个0 或者补a
if(abs>0) b.insert(b.begin(),abs,'0');
else if(abs<0) a.insert(a.begin(),-abs,'0');
string res(a.size(),'0');
//运算
for(int i = a.size()-1;i>0;i--)
{
int stat = 0;
//看有几个'1'
stat = a[i]+b[i]+res[i]-'0'-'0'-'0';
//本位
res[i] = stat%2==0?'0':'1';
///看是否进位
if(stat>1) res[i-1] = '1';
}
//看第一位
int stat1 = 0;
stat1 = stat1+a[0]+b[0]+res[0]-'0'-'0'-'0';
res[0] = stat1%2==0?'0':'1';
if(stat1>1) res.insert(res.begin(),'1');
return res;
}
};
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!