题目:

Given two binary strings, return their sum (also a binary string). (Easy)

For example,
a = "11"
b = "1"
Return "100".

分析:

思路很简单,就是按位依次相加,处理进位即可,循环条件里面可以写上carry == 1,用一个完整循环解决问题,而不用循环结束后再多加判定。

注意:题目给的是string,注意处理char和int转换。

代码:

 class Solution {
public:
string addBinary(string a, string b) {
string result = "";
int i = a.size() - , j = b.size() - , carry = ;
while (i >= || j >= || carry == ) {
int temp = carry;
carry = ;
if (i >= ) {
temp += a[i] - '';
i--;
}
if (j >= ) {
temp += b[j] - '';
j--;
}
if (temp == ) {
carry = ;
temp = ;
}
if (temp == ) {
carry = ;
temp = ;
}
result = char('' + temp) + result;
}
return result;
}
};
 

LeetCode67 Add Binary的更多相关文章

  1. LeetCode----67. Add Binary(java)

    package addBinary67;/* Given two binary strings, return their sum (also a binary string).For example ...

  2. leetcode解题:Add binary问题

    顺便把之前做过的一个简单难度的题也贴上来吧 67. Add Binary Given two binary strings, return their sum (also a binary strin ...

  3. [LintCode] Add Binary 二进制数相加

    Given two binary strings, return their sum (also a binary string). Have you met this question in a r ...

  4. Add Binary

    Add Binary https://leetcode.com/problems/add-binary/ Given two binary strings, return their sum (als ...

  5. LeetCode 面试:Add Binary

    1 题目 Given two binary strings, return their sum (also a binary string). For example,a = "11&quo ...

  6. 67. Add Binary【LeetCode】

    67. Add Binary Given two binary strings, return their sum (also a binary string). For example,a = &q ...

  7. [LeetCode] 415 Add Strings && 67 Add Binary && 43 Multiply Strings

    这些题目是高精度加法和高精度乘法相关的,复习了一下就做了,没想到难住自己的是C++里面string的用法. 原题地址: 415 Add Strings:https://leetcode.com/pro ...

  8. 2016.6.21——Add Binary

    Add Binary 本题收获: 对于相加而言,考虑进位以及进位之后的值为多少,全部进位完毕后进位还为1(11 + 11 = 110)需要添加一位.1.string中默认每个元素为char型 2.从i ...

  9. LeetCode: Add Binary 解题报告

    Add BinaryGiven two binary strings, return their sum (also a binary string). For example,a = "1 ...

随机推荐

  1. 组件化开发之vue

    今天写了写vue的组件化开发demo,有些小的心得.分享一下. 组件化意味着代码可以复用,调用组件就可以了.然后可以通过组件调用组件的相关能力. 例如以前我做组件化开发的一个小项目 原生js组件的实现 ...

  2. 机房收费系统vb.net之打包与部署(二)

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/wangdan199112/article/details/28286365             ...

  3. ML面试1000题系列(81-90)

    本文总结ML面试常见的问题集 转载来源:https://blog.csdn.net/v_july_v/article/details/78121924 81.已知一组数据的协方差矩阵P,下面关于主分量 ...

  4. React高阶组件 和 Render Props

    高阶组件 本质 本质是函数,将组件作为接收参数,返回一个新的组件.HOC本身不是React API,是一种基于React组合的特而形成的设计模式. 解决的问题(作用) 一句话概括:功能的复用,减少代码 ...

  5. JS的八大数据类型

    js中的数据类型,包括基本数据类型(Number,String,Boolean, Undefined,Null)和   复杂(引用)数据类型(Object,Array,Function) 基本数据类型 ...

  6. vs2015卸载、vs2008安装Visual Assist x

    卸载2015 参考博文 1. 手动卸载VS2015的主要部分: win10系统: 控制面板---程序和功能--Microsoft Visual Studio 2015---更改卸载 2. 下载工具并解 ...

  7. Linux之源码包

    暂时感觉用不上,到时需要了解的时候再补上

  8. Wireshark 基本使用方法

    学习于: http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html

  9. LintCode_67 二叉树中序遍历

    题目 给出一棵二叉树,返回其中序遍历 C++ 非递归 vector<int> inorderTraversal(TreeNode *root) { // write your code h ...

  10. Directx11教程(58) 鼠标控制摄像机

    原文:Directx11教程(58) 鼠标控制摄像机        本篇教程我们实现鼠标旋转摄像机的操作.主要就是按下鼠标左键的时候,根据鼠标的移动对摄像机进行pitch, raw的组合旋转.具体修改 ...