Add Binary

原创 2015年11月19日 21:14:59

题目描述

Given two binary strings, return their sum (also a binary string).
For example,
a = “11”
b = “1”
Return “100”.

题目解答

解题思路

二进制加法都是从低位开始加(也就是字符串的高位),所以要从高位开始加

‘1’ - ‘0’ = 1

代码实现

/**
 * 从低位开始加   也就是字符串的高位
 */
public class Solution {
    public String addBinary(String a, String b) {
         if(a == null || b == null)
            return "";

        StringBuilder ret = new StringBuilder("");
        int i = a.length()-1, j = b.length()-1;
        int carry = 0;
        while(i >= 0 || j >= 0){
            int sum = carry;
            if(i >= 0)
                sum += (a.charAt(i--)-'0');
            if(j >= 0)
                sum += (b.charAt(j--)-'0');

            carry = sum / 2;
            //int + char --> int 注意
            char temp = (char)(sum%2 + '0');
            ret.insert(0, temp);
        }
        if(carry == 1)
            ret.insert(0, '1');
        return ret.toString();
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

67. Add Binary [easy] (Python)

题目链接 https://leetcode.com/problems/add-binary/ 题目原文 题目翻译 思路方法 思路一 代码 说明 思路...
  • coder_orz
  • coder_orz
  • 2016年06月18日 17:29
  • 2903

LeetCode 67 : Add Binary (Java)

解题思路:从末尾依次对应相加来求,转成int中的相加会使代码比较简洁,因为可以用/和%来分别求出进位和当前往结果中添加的位。然后,把较长的字符串剩下的部分和进位相加放入结果。最后,还要判断进位此时是否...
  • changetocs
  • changetocs
  • 2015年12月03日 21:08
  • 658

[C++]LeetCode: 9 Add Binary

题目: Given two binary strings, return their sum (also a binary string). For example, a = "11...
  • cinderella_niu
  • cinderella_niu
  • 2014年11月06日 21:36
  • 950

leetcode Add Binary python 题解

leetcode add binary python 题解
  • xiaolewennofollow
  • xiaolewennofollow
  • 2015年04月24日 21:07
  • 834

【leetcode】67. Add Binary(Python & C++)

67. Add Binary题目链接67.1 题目描述:Given two binary strings, return their sum (also a binary string).For ex...
  • liuxiao214
  • liuxiao214
  • 2017年09月04日 20:18
  • 195

[leetcode-67]Add Binary(C)

问题描述: Given two binary strings, return their sum (also a binary string).For example, a = “11” b =...
  • zdavb
  • zdavb
  • 2015年08月02日 22:41
  • 241

[leetcode](Add Binary C语言实现)

Add Binary Given two binary strings, return their sum (also a binary string).For example, a = “11”...
  • sanmao0816
  • sanmao0816
  • 2015年04月21日 12:55
  • 743

Add Binary | leetcode 67 【Java解题报告】

Given two binary strings, return their sum (also a binary string). For example, a = "11" b = "1" Re...
  • happyaaaaaaaaaaa
  • happyaaaaaaaaaaa
  • 2015年10月04日 14:23
  • 1809

LeetCode 67 — Add Binary(C++ Java Python)

题目:http://oj.leetcode.com/problems/add-binary/ Given two binary strings, return their sum (also a bi...
  • dragon_dream
  • dragon_dream
  • 2014年02月26日 21:18
  • 2405

LeetCode(67) Add Binary

题目Given two binary strings, return their sum (also a binary string).For example, a = “11” b = “1” ...
  • fly_yr
  • fly_yr
  • 2015年08月19日 20:58
  • 1844
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Add Binary
举报原因:
原因补充:

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