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;
}
}
};

最新文章

  1. IOS 截取图片 部分 并生成新图片
  2. texrecon进行纹理映射
  3. gulp常用插件
  4. IE11里边form拦截失效,永远被弹回登录页
  5. javascritp第十课:面向对象
  6. 非常棒的Visual Studo调试插件:OzCode 2.0 下载地址
  7. 算法分析| 小o和小ω符号
  8. cocos 场景制作流程
  9. 『The Captain 最短路建图优化』
  10. rabbitmq web 管理系统的信息
  11. vue单页应用前进刷新后退不刷新方案探讨
  12. 第一册:lesson seventeen。
  13. springMVC的全局异常设置
  14. js this小记
  15. 启动MyEclipse8.5时未响应
  16. (转载)220v交流接触器自锁接线图另接热继电器
  17. C# DateTime的 ParseExact和 TryParseExact 使用说明
  18. mac OS X:[11]如何添加打印机
  19. web自动化时,sendkeys输入长文本时浏览器响应慢或错误时处理
  20. NS3 实验脚本的编写步骤

热门文章

  1. c# 后台线程 访问前台控件并显示信息
  2. NDK下载地址
  3. ssd的BUG
  4. 用$(this)选择其下带有class的子元素
  5. js箭头函数
  6. CSS&amp;JS定位器
  7. Angularjs基础(十)
  8. JetBrains 授权服务器(License Server):
  9. PostgreSQL数据库的安装
  10. 【原创】关于skip-gram的个人理解