题目

代码

class Solution {
public:string addBinary(string a, string b){int lenA = a.length();int lenB = b.length();string result;int addFlag = 0;int i;int current = 0;for (i = 0;i < lenA&&i < lenB;i++){int numA = a[lenA - i - 1] - '0', numB = b[lenB - i - 1] - '0';current = (addFlag + numA + numB) % 2;result.push_back((char)('0' + current));addFlag = numA + numB + addFlag > 1 ? 1 : 0;}if (lenA > lenB){for (;i < lenA;i++){current = ((a[lenA - i - 1] - '0') + addFlag) % 2;result.push_back('0' + current);addFlag = a[lenA - i - 1]-'0' + addFlag > 1 ? 1 : 0;}if (addFlag == 1)result.push_back('1');}else if (lenA < lenB){for (;i < lenB;i++){current = ((b[lenB - i - 1] - '0') + addFlag) % 2;result.push_back('0' + current);addFlag = b[lenB - i - 1]-'0' + addFlag > 1 ? 1 : 0;}if (addFlag == 1)result.push_back('1');}else{if (addFlag == 1)result.push_back('1');}std::reverse(result.begin(), result.end());return result;}
};

转载于:https://www.cnblogs.com/lizhenghao126/p/11053579.html

[LeetCode]二进制求和相关推荐

  1. leetcode 二进制求和 addBinary

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

  2. java两个二进制数求和,Leetcode 67:Add Binary(二进制求和)

    Leetcode 67:Add Binary(二进制求和) (python.java) Given two binary strings, return their sum (also a binar ...

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

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

  4. 【LeetCode·位运算.67】二进制求和,详解分析+两种思路+知识点总结

    二进制求和

  5. [每日一题] 106. 二进制求和(字符串、数学)

    1. 题目来源 链接:二进制求和 来源:LeetCode 2. 题目说明 给定两个二进制字符串,返回他们的和(用二进制表示). 输入为非空字符串且只包含数字 1 和 0. 示例1: 输入: a = & ...

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

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

  7. 二进制求和和x的平方根

    二进制求和没什么可说的,就是一个很简单的相加,跟加一那道题的做法基本一致(准确来说就是完全一致).之所以提一下,是因为今天第一次遇到内存泄漏--之前写的基本是有自动GC和内存管理的语言(比如Java) ...

  8. LeetCode 67. 二进制求和

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

  9. Leetcode每日一题:67.add-binary(二进制求和)

    思路:利用二进制规则,选长度最长的为标准,从两个字符串尾部开始相加,对应位求和sum,之后置该位为sum%2,进位为sum/2: string addBinary(string a, string b ...

最新文章

  1. java maven -DskipTests 和 -Dmaven.test.skip=true 区别
  2. CTFshow php特性 web141
  3. WebService怎样在IIS上部署
  4. 阿里云文件上传工具类
  5. 如何在Chrome development tool里查看C4C前台发送的未经 GZIP 压缩之前的请求细节
  6. leetcode53 dp and 分治
  7. 分词相关技术(转载)
  8. 淘宝成全球电商第一人气网站
  9. ROS笔记(21) 地图
  10. JavaScript-No.01 JavaScript实现封装、继承、多态
  11. 数据结构与算法C语言版—— 数据结构的详细介绍
  12. (视频分辨率介绍)混淆的概念:SIF与CIF、4CIF与D1
  13. PIN track 1000x1000's result
  14. 怎么科学解读闪电鞭?年轻人我劝你耗子尾汁,好好反思
  15. stable diffusion制作韩国版AI女友关键词
  16. ensp华为路由器静态配置和动态配置
  17. 编写51单片机程序,输出方波,at89s52的单片机
  18. a16z:元宇宙解锁游戏基础设施中的新机遇
  19. 全球5G设备商最新排名
  20. iOS配置证书:Provisioning profile xx_Distribution doesn't include signing certificate iPhone Developer

热门文章

  1. 大数据 互联网架构阶段 Redis(三)redis集群
  2. 【IT资讯】TIOBE 7月编程语言排行榜显示,这些编程语言更吃香
  3. oracle10g的silent,Linux 静默(Silent) 安装Oracle 10g
  4. 一个整数数组,每个数字都出现K次,只有一个数字出现M次,找出这个数字(线性时间)
  5. java ajax翻页_分页 工具类 前后台代码 Java JavaScript (ajax) 实现 讲解
  6. r8169驱动下载linux,CentOS自带R8169驱动与R8168网卡之间的烦恼
  7. Objective-C MacOS以管理员权限运行程序
  8. Navicat for MySQL在ubuntu下运行没有反应
  9. MFC 获取命令行参数
  10. 内存的静态分配和动态分配的区别【转】