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"```

StringBuilder.insert(int offset,  char c) 表示将char放入offset这个偏移量

``` class Solution {
public String addBinary(String a, String b) {
StringBuilder sb = new StringBuilder(); // new a StringBuilder because it will be easy to append

char[] arrayA = a.toCharArray();// convert char to array
char[] arrayB = b.toCharArray();// convert char to array

int i = a.length()-1;
int j = b.length()-1;
int carry = 0;

while(i>=0 || j>=0 || carry >0){
int updateA = i>=0 ? arrayA[i--]-'0':0;
int updateB = j>=0 ? arrayB[j--]-'0':0;
int sum = updateA + updateB + carry;
sb.insert(0, Character.forDigit(sum%2, 10)); // I convert this sum to binary then insert to sb
carry = sum/2; // coz it is binary, carry would be sum/2
}
return sb.toString();  //  convert StringBuilder to String
}
}```

1. leetCode 67.Add Binary (二进制加法) 解题思路和方法

Given two binary strings, return their sum (also a binary string). For example, a = "11" b ...

2. Leetcode 67 Add Binary 大数加法+字符串处理

题意:两个二进制数相加,大数加法的变形 大数加法流程: 1.倒置两个大数,这一步能使所有大数对齐 2.逐位相加,同时进位 3.倒置两个大数的和作为输出 class Solution { public: ...

3. (String) leetcode 67. Add Binary

Given two binary strings, return their sum (also a binary string). The input strings are both non-em ...

4. leetcode 67. Add Binary （高精度加法）

Given two binary strings, return their sum (also a binary string). For example,a = "11"b = ...

5. LeetCode 67. Add Binary （二进制相加）

Given two binary strings, return their sum (also a binary string). For example,a = "11"b = ...

Given two binary strings, return their sum (also a binary string).The input strings are both non-emp ...

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

翻译 给定两个二进制字符串,返回它们的和(也是二进制字符串). 比如, a = "11" b = "1" 返回 "100". 原文 Give ...

9. [LeetCode] 67. Add Binary 二进制数相加

Given two binary strings, return their sum (also a binary string). The input strings are both non-em ...

## 随机推荐

1. MVC之前的那点事儿系列（7）：WebActivator的实现原理详解

文章内容 上篇文章,我们分析如何动态注册HttpModule的实现,本篇我们来分析一下通过上篇代码原理实现的WebActivator类库,WebActivator提供了3种功能,允许我们分别在Http ...

2. hive中的常用方法（case，cast，unix_timestamp）

1.case的用法 )格式1 case col when value then '' when value then '' else '' end )格式2 case when col='value' ...

3. 对石家庄铁道大学网站的UI分析

学校网站的首页面的色调用的比较好看,用深蓝色体现了严谨治学的风范.然后就是网站的首页有 1,学校概况:学校简介 现任领导 历任领导 校史沿革 2,组织机构: 机构设置 院系设置 管理机构 直属单位 其 ...

4. java 连接池的简单实现

最近一个项目中需要自己写个连接池, 写了一个下午,挺辛苦的,但不知道会不会出问题, 所以,贴到博客上,欢迎各路大神指点 1. 配置信息: /** * */ package cn.mjorcen.db. ...

5. 用PowerShell批量收回wsp包

6. Android获取文件夹路径 /data/data/

首先内部存储路径为/data/data/youPackageName/,下面讲解的各路径都是基于你自己的应用的内部存储路径下.所有内部存储中保存的文件在用户卸载应用的时候会被删除. 一. files1 ...

7. html5标签收集

<meta name="viewport" content="width=device-width,initial-scale=1 user-scalable=0& ...

错误: [2016-04-20 19:05:04 - ddms] 'E:\android\android-sdk\android-sdk\platform-tools\adb.exe,start-se ...

9. java_抽象类

抽象类1,语法定义抽象类前使用abstract关键字修饰,则该类为抽象类2.应用场景(1)在某些情况下,某个父类只是知道其子类应该包含怎样的方法,但无法准确知道这些子类如何实现这些方法. (2)从多个 ...

10. ubuntu server 16.04 安装过程中提示无法安装busybox-initramfs

这个问题在安装desktop版本时是不会出现的,只有server才有这个问题. 出现这个问题与硬件平台无关,不管是虚拟机还是物理机都会出现,解决的办法是在安装开始界面选择English,后面Langu ...