LeetCode - 67. Add Binary(4ms)
2024-08-26 00:25:08
Given two binary strings, return their sum (also a binary string).
The input strings are both non-empty and contains only characters 1
or 0
.
Example 1:
Input: a = "11", b = "1"
Output: "100"
Example 2:
Input: a = "1010", b = "1011"
Output: "10101"
class Solution {
public:
string addBinary(string a, string b) {
int la = a.length();
int lb = b.length();
string res = "";
int car = ;
if(la <= lb) {
for(int i = la - ; i >= ; i--) {
if(a[i] == '' && b[lb - (la - i)] == '') {
if(car == )
res = '' + res;
else {
res = '' + res;
car = ;
}
}
else if(a[i] != b[lb - (la - i)]) {
if(car == )
res = '' + res;
else
res = '' + res;
}
else {
if(car == ) {
res = '' + res;
car = ;
}
else
res = '' + res;
}
}
for(int i = lb - la - ; i >= ; i--) {
if(b[i] == '') {
if(car == )
res = '' + res;
else
res = '' + res;
}
else {
if(car == ) {
res = '' + res;
car = ;
}
else
res = '' + res;
}
}
if(car == ) {
res = '' + res;
}
return res;
}
else if(lb < la) {
for(int i = lb - ; i >= ; i--) {
if(b[i] == '' && a[la - (lb - i)] == '') {
if(car == )
res = '' + res;
else {
res = '' + res;
car = ;
}
}
else if(b[i] != a[la - (lb - i)]) {
if(car == )
res = '' + res;
else
res = '' + res;
}
else {
if(car == ) {
res = '' + res;
car = ;
}
else
res = '' + res;
}
}
for(int i = la - lb - ; i >= ; i--) {
if(a[i] == '') {
if(car == )
res = '' + res;
else
res = '' + res;
}
else {
if(car == ) {
res = '' + res;
car = ;
}
else
res = '' + res;
}
}
if(car == ) {
res = '' + res;
}
return res;
}
}
};
最新文章
- IOS 截取图片 部分 并生成新图片
- texrecon进行纹理映射
- gulp常用插件
- IE11里边form拦截失效,永远被弹回登录页
- javascritp第十课:面向对象
- 非常棒的Visual Studo调试插件:OzCode 2.0 下载地址
- 算法分析| 小o和小ω符号
- cocos 场景制作流程
- 『The Captain 最短路建图优化』
- rabbitmq web 管理系统的信息
- vue单页应用前进刷新后退不刷新方案探讨
- 第一册:lesson seventeen。
- springMVC的全局异常设置
- js this小记
- 启动MyEclipse8.5时未响应
- (转载)220v交流接触器自锁接线图另接热继电器
- C# DateTime的 ParseExact和 TryParseExact 使用说明
- mac OS X:[11]如何添加打印机
- web自动化时,sendkeys输入长文本时浏览器响应慢或错误时处理
- NS3 实验脚本的编写步骤