67. Add Binary

原创 2016年06月01日 18:41:49

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

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

public class Solution {
    public String addBinary(String a, String b) {
         if(a.length() < b.length()){
            String tmp = a;
            a = b;
            b = tmp;
        }

        int pa = a.length()-1;
        int pb = b.length()-1;
        int carries = 0;
        String rst = "";

        while(pb >= 0){
            int sum = (int)(a.charAt(pa) - '0') + (int)(b.charAt(pb) - '0') + carries;
            rst = String.valueOf(sum % 2) + rst;
            carries = sum / 2;
            pa --;
            pb --;
        }

        while(pa >= 0){
            int sum = (int)(a.charAt(pa) - '0') + carries;
            rst = String.valueOf(sum % 2) + rst;
            carries = sum / 2;
            pa --;
        }       

        if (carries == 1)
            rst = "1" + rst;
        return rst;
    
    }
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

【LeetCode-面试算法经典-Java实现】【067-Add Binary(二进制加法)】

【067-Add Binary(二进制加法)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  Given two binary strings, return their ...
  • DERRANTCM
  • DERRANTCM
  • 2015年08月02日 06:09
  • 3730

Add Binary(二进制字符串相加)

Given two binary strings, return their sum (also a binary string). For example, a = "11" b = "1...
  • slowdreamer
  • slowdreamer
  • 2015年05月19日 16:44
  • 276

LeetCode算法题目之Add Binary 我的思路

题目如下:点击打开链接 Given two binary strings, return their sum (also a binary string). For example, a = "1...
  • WALLEZhe
  • WALLEZhe
  • 2015年09月16日 22:29
  • 499

LeetCode 67 Add Binary(二进制相加)(*)

翻译给定两个二进制字符串,返回它们的和(也是二进制字符串)。例如, a = "11" b = "1" 返回 "100".原文Given two binary strings, return their...
  • NoMasp
  • NoMasp
  • 2016年02月02日 13:49
  • 2079

LeetCode Add Binary 高精度二进制加法

就是简化版的高精度加法,但是,其实也不是简化了。 因为有一个特殊情况:如果进位是1,那么剩下一个数的时候后面的为都是1,那么1+1要进位,就要一直进位进到最高位+1了。 如11110101,到第五位...
  • kenden23
  • kenden23
  • 2013年11月18日 18:30
  • 1578

[Erang]binary转换的一些技巧

erlang提供了binary_to_term,把一个二进制数据转为原始的erlang数据。但是,这个函数也有副作用。如果直接将对端传来的数据做一次 binary_to_term,就可能会导致VM c...
  • abv123456789
  • abv123456789
  • 2015年06月04日 14:17
  • 1472

读取application/binary 是什么类型的文件

/**  * File:ReadWriteBF.java  * -------------------------  * Read from a large txt file ,have 100...
  • u012089657
  • u012089657
  • 2015年09月16日 15:06
  • 1252

开启binary log功能

MySQL Binary Log也就是常说的bin-log, ,是mysql执行改动产生的二进制日志文件,其主要作用有两个: * 数据回复 * 主从数据库。用于slave端执行增删改,保持与mas...
  • nanyanglu
  • nanyanglu
  • 2016年09月28日 21:52
  • 1271

iOS应用发布Invalid Binary问题解决方案

上次发布一淘HD应用,头一天发布,第二天就上线,私下还在想,是不是苹果采用什么优化的解决方案了,导致审核速度加快了。这两天发布新版,一直碰到Invaild Binary问题,才想明白,原来大家都被这个...
  • ugg
  • ugg
  • 2014年05月04日 22:28
  • 7218

数据结构之Binary Heap(二叉堆)

数据结构之Binary Heap(二叉堆)1.Binary Heap的定义 二叉堆是一种特殊的堆,二叉堆是完全二元树(二叉树)或者是近似完全二元树(二叉树)。二叉堆有两种:最大堆和最小堆。最大堆:...
  • Mr_KkTian
  • Mr_KkTian
  • 2016年10月22日 15:11
  • 1347
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:67. Add Binary
举报原因:
原因补充:

(最多只允许输入30个字)