1. 题目

给定两个二进制字符串,返回他们的和(用二进制表示)。

输入为非空字符串且只包含数字 1 和 0。

示例 1:输入: a = "11", b = "1"
输出: "100"
示例 2:输入: a = "1010", b = "1011"
输出: "10101"

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/add-binary
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 用一个变量存储进位(直白解法,代码有点长)
    别人的解题值得学习
class Solution {public:string addBinary(string a, string b) {int i, j, one = 0;string ans;for(i = a.size()-1,j = b.size()-1; i >= 0 && j >= 0; --i,--j){if((a[i]-'0')^(b[j]-'0')){if(one == 0)ans = "1"+ans;elseans = "0"+ans;}else{if(a[i]== '0' && b[j]== '0'){if(one == 0)ans = "0"+ans;else{ans = "1"+ans;one = 0;}}else//都为1{if(one == 0){ans = "0"+ans;one = 1;}elseans = "1"+ans;}    }}if(j < 0 && i >= 0){while(i >= 0){if((a[i]-'0')^one){ans = "1"+ans;one = 0;}else{if(a[i]== '0' && one == 0)ans = "0"+ans;else{ans = "0"+ans;one = 1;}}i--;}if(one)ans = "1"+ans;}else // (i < 0){while(j >= 0){if((b[j]-'0')^one){ans = "1"+ans;one = 0;}else{if(b[j]== '0' && one == 0)ans = "0"+ans;else{ans = "0"+ans;one = 1;}}j--;}if(one)ans = "1"+ans;}return ans;}
};

LeetCode 67. 二进制求和相关推荐

  1. Leetcode 67. 二进制求和 (每日一题 20210826)

    给你两个二进制字符串,返回它们的和(用二进制表示).输入为 非空 字符串且只包含数字 1 和 0.示例 1:输入: a = "11", b = "1" 输出: ...

  2. leetcode 67. 二进制求和(C语言)

    题目 给定两个二进制字符串,返回他们的和(用二进制表示). 输入为非空字符串且只包含数字 1 和 0. 示例 1: 输入: a = "11", b = "1" ...

  3. LeetCode:二进制求和【67】

    LeetCode:二进制求和[67] 题目描述 给定两个二进制字符串,返回他们的和(用二进制表示). 输入为非空字符串且只包含数字 1 和 0. 示例 1: 输入: a = "11" ...

  4. 67. 二进制求和(转换法)

    二进制求和(C, Python实现) 1. 题目描述 2. 题目分析 3. C语言实现 4. Python实现 1. 题目描述 难度:简单 2. 题目分析 转换法(Python) 转换法是最容易想到的 ...

  5. LeetCode 题 - 67. 二进制求和 python实现

    题目 给定两个二进制字符串,返回他们的和(用二进制表示). 输入为非空字符串且只包含数字 1 和 0. 示例 1: 输入: a = "11", b = "1" ...

  6. LeetCode:67. 二进制求和(python、c++)

    题目描述 给你两个二进制字符串,返回它们的和(用二进制表示). 输入为 非空 字符串且只包含数字 1 和 0. 示例 1: 输入: a = "11", b = "1&qu ...

  7. LeetCode 力扣 67. 二进制求和

    题目描述(简单难度) 两个二进制数相加,返回结果,要注意到字符串的最低位代表着数字的最高位.例如 "100" 最高位(十进制中的百位的位置)是 1,但是对应的字符串的下标是 0. ...

  8. 学渣的刷题之旅 leetcode刷题 67.二进制求和

    给定两个二进制字符串,返回他们的和(用二进制表示). 输入为非空字符串且只包含数字 1 和 0. 输入: a = "11", b = "1" 输出: " ...

  9. 文巾解题 67. 二进制求和

    1 题目描述 2 解题思路 2.1 整数相加过渡 将A,B转化为整数(使用迭代实现),然后将A+B转换成二进制的字符串 返回的内容从第二个下标开始,是为了剔除bin()函数返回的'0b'这两个字符串 ...

最新文章

  1. iphone相册怎么加密_iphone相册加密码锁,保护隐私
  2. linux 565显示格式,RGB565转BMP格式 C语言程序
  3. leetcode算法题--Restore IP Addresses
  4. asp.net控件开发(二)-简单属性
  5. spring react_使用Spring WebFlux构建React性REST API –第1部分
  6. spring的bean范围_Spring Bean范围
  7. 声明式编程与函数式编程_实用程序类与函数式编程无关
  8. apache服务器配置Net的实践
  9. kgdb调试内核无法执行断点及kdb-22:Permisson denied
  10. 【元胞自动机】基于matlab激进策略元胞自动机三车道(不开放辅路,软件园不影响)交通流模型【含Matlab源码 1296期】
  11. charles 请求出现乱码_基于iOS的Charles抓包实践
  12. 写的函数符号表里没有_DATEDIF函数,看看你的Excel里有没有?
  13. php 通过ip查询地区,php怎样根据ip地址查地区
  14. sbt启动机制、配置优化及与Intellij IDEA的集成
  15. 如何把软件Origin切换变成中文显示?
  16. js 新年倒计时 代码
  17. [转]Phoenix综述(史上最全Phoenix中文文档)
  18. 关于2020计算机考研。
  19. 物理 常见力与牛顿三定律
  20. 如何为你的文本标签添加圆点、三角等不规则图形-保姆级教程

热门文章

  1. C++存储区域基础概念详解
  2. curl -L get.rvm.io | bash -s stable报错:连接不上服务器
  3. android 管理类,android 线程管理类
  4. 基于matlab 宗晓萍,基于ADAMS和MATLAB的机械臂控制仿真
  5. Linux下如何搭建Java环境
  6. 消息中间件核心实体(1)
  7. idea,eclipse创建多模块项目
  8. div中iframe高度自适应问题
  9. Tracing mysqld Using DTrace
  10. 使用Marshal.Copy把Txt行数据转为Struct类型值