LeetCode 67. 二进制求和
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. 二进制求和相关推荐
- Leetcode 67. 二进制求和 (每日一题 20210826)
给你两个二进制字符串,返回它们的和(用二进制表示).输入为 非空 字符串且只包含数字 1 和 0.示例 1:输入: a = "11", b = "1" 输出: ...
- leetcode 67. 二进制求和(C语言)
题目 给定两个二进制字符串,返回他们的和(用二进制表示). 输入为非空字符串且只包含数字 1 和 0. 示例 1: 输入: a = "11", b = "1" ...
- LeetCode:二进制求和【67】
LeetCode:二进制求和[67] 题目描述 给定两个二进制字符串,返回他们的和(用二进制表示). 输入为非空字符串且只包含数字 1 和 0. 示例 1: 输入: a = "11" ...
- 67. 二进制求和(转换法)
二进制求和(C, Python实现) 1. 题目描述 2. 题目分析 3. C语言实现 4. Python实现 1. 题目描述 难度:简单 2. 题目分析 转换法(Python) 转换法是最容易想到的 ...
- LeetCode 题 - 67. 二进制求和 python实现
题目 给定两个二进制字符串,返回他们的和(用二进制表示). 输入为非空字符串且只包含数字 1 和 0. 示例 1: 输入: a = "11", b = "1" ...
- LeetCode:67. 二进制求和(python、c++)
题目描述 给你两个二进制字符串,返回它们的和(用二进制表示). 输入为 非空 字符串且只包含数字 1 和 0. 示例 1: 输入: a = "11", b = "1&qu ...
- LeetCode 力扣 67. 二进制求和
题目描述(简单难度) 两个二进制数相加,返回结果,要注意到字符串的最低位代表着数字的最高位.例如 "100" 最高位(十进制中的百位的位置)是 1,但是对应的字符串的下标是 0. ...
- 学渣的刷题之旅 leetcode刷题 67.二进制求和
给定两个二进制字符串,返回他们的和(用二进制表示). 输入为非空字符串且只包含数字 1 和 0. 输入: a = "11", b = "1" 输出: " ...
- 文巾解题 67. 二进制求和
1 题目描述 2 解题思路 2.1 整数相加过渡 将A,B转化为整数(使用迭代实现),然后将A+B转换成二进制的字符串 返回的内容从第二个下标开始,是为了剔除bin()函数返回的'0b'这两个字符串 ...
最新文章
- iphone相册怎么加密_iphone相册加密码锁,保护隐私
- linux 565显示格式,RGB565转BMP格式 C语言程序
- leetcode算法题--Restore IP Addresses
- asp.net控件开发(二)-简单属性
- spring react_使用Spring WebFlux构建React性REST API –第1部分
- spring的bean范围_Spring Bean范围
- 声明式编程与函数式编程_实用程序类与函数式编程无关
- apache服务器配置Net的实践
- kgdb调试内核无法执行断点及kdb-22:Permisson denied
- 【元胞自动机】基于matlab激进策略元胞自动机三车道(不开放辅路,软件园不影响)交通流模型【含Matlab源码 1296期】
- charles 请求出现乱码_基于iOS的Charles抓包实践
- 写的函数符号表里没有_DATEDIF函数,看看你的Excel里有没有?
- php 通过ip查询地区,php怎样根据ip地址查地区
- sbt启动机制、配置优化及与Intellij IDEA的集成
- 如何把软件Origin切换变成中文显示?
- js 新年倒计时 代码
- [转]Phoenix综述(史上最全Phoenix中文文档)
- 关于2020计算机考研。
- 物理 常见力与牛顿三定律
- 如何为你的文本标签添加圆点、三角等不规则图形-保姆级教程
热门文章
- C++存储区域基础概念详解
- curl -L get.rvm.io | bash -s stable报错:连接不上服务器
- android 管理类,android 线程管理类
- 基于matlab 宗晓萍,基于ADAMS和MATLAB的机械臂控制仿真
- Linux下如何搭建Java环境
- 消息中间件核心实体(1)
- idea,eclipse创建多模块项目
- div中iframe高度自适应问题
- Tracing mysqld Using DTrace
- 使用Marshal.Copy把Txt行数据转为Struct类型值